var obj1 = { username: ‘zhangsan‘ } var obj2 = obj1; //这里的让obj2等于obj1实际上是给obj1多加了一个名字,obj1和obj2在计算机上占用的是同一块内存所以他们是相等的 console.log(obj2 == obj1); //true var obj3 = { username: ‘lisi‘ } var obj4 = { username: ‘lisi‘ } console.log(obj3 == obj4); //false //明明这两个对象是相等的,但是为什么不相等 //注意:在js里边.比较对象是比较是不是在计算机上占同一块内存不是比较是否在格式上相等
对象的特殊性 [ 关于变量 ]
var obj = { username: ‘张三‘ }; console.log(obj.username); //张三 console.log(obj.age); //undifind //在对象里面,虽然没有定义age但是打印可以打印出undefined var sex = ‘man‘; function add() { console.log(sex); //undefined //虽然外边定义了sex但是在函数内部,以函数内部为主 var sex = ‘男‘; console.log(sex); //男 } add();