chapter19——JS-对象(2)

94 阅读1分钟

对象的解构(解开结构):

方法1:取出存到变量中
    例:var username=user.username
方法2:解构式 var/let {需要取的key,key1,key2...} = 对象
    例:var {username,password}=user
方法3:遍历方法,定义一个对象,把遍历的对象的key取出赋值到新对象中

对象的比较:

1、对象存在堆空间,基本数据类型存在栈空间,基本数据类型的字面量存在常量池
2、每一个对象在堆空间中都有一个地址,对象名=地址
3、字面量和对象的比较:
    ==:比较值
    ===:比较值和类型
4、当对象和对象之间作比较时,只比较地址

NaN:

1、用==、===比较永远不会相等
2、比较方法:
    方法1Object.is(数据1,数据2)比较数据1和数据2是否相等,和===类似,区别在于可以比较NaN和+0 -0(区分正负0)
    方法2:is NaN(数据): 判断传入的数据是否是NaN

值传递和地址传递:

1、值传递:
    发生在基本数据类型之间,接受方修改数据不影响传递方
2、地址传递:
    发生在对象之间,传递方传递的是地址,接收方和传递方指向同一个对象,接收方改变了,传递方也相应的改变