JS对象的基本用法

JavaScript021

JS对象的基本用法,第1张

对象是复杂数据类型,定义了无序键值对的集合

delect obj.name 删除属性名和值

obj.name = undefined 删除属性值

name in obj &&name === undefined 判断含有属性名,但值为undefined

注意 name === undefined 不能判定 name 是否为 obj 的属性

Object.key(obj) 查看对象的所有属性名

Object.values(obj) 查看对象的所有属性值

Object.entries(obj) 查看对象的所有属性名和属性值

console.dir(obj) 查看共有属性和自身属性

name in obj 判断属性名是否存在,不会区分自身属性和共有属性

obj.hasOwnProperty('name') 判断对象自身拥有的属性,不包含共有属性

属性存在则修改,没有则增加

批量赋值,ES6 新出

Object.assign(obj, {p1 = 1, p2 = 2, p3 = 3})

promise的作用:ajax是异步请求,多层嵌套会造成回调地狱,promise模拟同步,将异步回调类似于同步来处理业务逻辑。

var p = new Promise(function(){

//这里用于处理异步的回调

}),必传回调函数,不传程序会抛出异常。

创建实例对象时,回调函数会立即执行。

promise的三种状态:

pending:正在进行状态

fulfilled:完成状态

rejected:失败状态

传参1 resolve,是个函数,只要这个函数执行了说明是成功状态,参数2选传,rejecte,是个函数,这个函数执行了说明是失败状态。这两个只能执行一个,变化不可逆。

promise两种结果:

从进行到失败

从进行到成功

通过rejecte(data)h或者resolve(data)将异步响应的数据提取出来,在promise外部使用。

promise的then方法,用于处理成功或者失败的回调。

//接收上面的回调

var p1 =p.then(function(res){

})。执行后返回一个promise对象,但和p不是同一个对象。当p1执行了并且return出res,就可以连缀

p1=p.then(function(res){

return res

}).then(function(data){

//处理成功回调

}).catch(function(){

//处理失败回调

})

可以简写p.then(function(res){

//处理成功信息

},function(err){

//处理异常信息

})。但一般不这样写。

使用案例如下,

promise的then方法是异步方法,但会优先于定时器执行。

1、万物皆对象

在编程中, 万物皆对象 。我们在编程中,使用对象来描述万事万物。怎么描述呢?什么事物,只要描述了其特征和行为就可以知道在描述什么。

举个例子,我们猜个谜语:

什么东西,小时候是黑色的,长大是绿色的,小时候在水里游,长大了在岸上跳。

基本都可以猜到,我们描述的是青蛙。

其中,颜色是青蛙的特征,在水里游和在岸上跳是行为。

我们在编程中,也是使用 特征 和 行为 描述任何事物。

使用 属性 描述事物的 特征 ,使用 方法 来描述 行为 , 就是对象这种语法。

所以:对象就是属性和方法的集合

2、对象有什么用

我们之前学习过的对象:Math、Date

我们发现,只要学习对象的一些属性和方法,直接使用,就可以得到自己想要的效果。

例如-得到随机数:Math.random()

我们不需要关心随机数到底是怎么产生的,只要结果——不关心过程,只关心结果

就好像我们获取当前日期:

所以对象的好处在于:我们只要知道对象有什么属性和方法,不需要知道对象里面是如何实现的。我们实现一个效果的过程将大缩短,实现高效开发。

3、创建对象

字面量创建对象:

使用Object内置对象创建对象:

4、为对象添加值

对象的值(对象成员)有两类:

添加属性的语法:对象.属性 = 值

添加方法的语法:对象.方法名 = function(){}

字面量初始化对象: