P7-JS对象

57 阅读1分钟

JS对象注意点

  1. 对象是通过new操作符构建出来的,所以对象之间不相等。
  2. 对象注意:引用类型。
  3. 对象的key都是字符串类型。
  4. 对象如何找属性方法 对象本身找 ===> 构造函数中找 ===> 对象原型中找 ===> 构造函数原型中找 ===> 上一层原型中找
// 1. 对象是通过new操作符构建出来的,所以对象之间不相等。
console.log( [1, 2, 3] === [1, 2, 3] ); // false

// 2. 对象注意:引用类型。
var obj1 = {
  a:1
};
var obj2 = obj1;
console.log(obj1 === obj2); // true
obj2.a = 'nnnnnn';
console.log(obj1, obj2);

// 3. 对象的key都是字符串类型。
var a = {};
var b = {
  key:'bb'
};
var c = {
  key:'cc'
};
a[b] = '123';// a['[object Object]'] = '123'
a[c] = '456';// a['[object Object]'] = '456'
console.log(a[b],a); // a['[object Object]'] = '456'

// 4. 对象如何找属性方法
function Fun(){
  this.a = '在Fun函数中添加的'; // part2
}
Fun.prototype.a = '这是Fun原型添加的'; // part4
let obj = new Fun();
obj.a = '对象本身'; // part1
obj.__proto__.a = '这是对象原型添加的'; // part3
console.log(obj.a);
console.log(Fun.prototype === obj.__proto__); // true