复习javascript基础 (1)
/**
* 对象是引用传递的
*/
var a = {
a: 1
}
var b = {
b: 2
}
var c = {
c: 3
}
a = b = c = {}; // 通过从右到左进行RHS查询
console.log(a,b,c); // {} {} {}
// 另外对象的key 可以是空字符串 value 可以是任何值
console.log({
”: undefined
});
/**
* 实现Object的对象委托
*/
var object = {
key: ‘value’
};
var childrenObject = Object.create(object);
Object.myCreate = Object.myCreate || function(o){
// 创建一个构造函数 函数有 prototype 属性
var F = function(){};
F.prototype = o; // 使用o 作为F的原型对象
return new F(); // 返回原型是o的实例对象
}
console.log(childrenObject.key);
// 对象的属性改变对构造函数的原型对象的属性不会起作用
childrenObject.key = ‘other’;
console.log(object.key); // value 不会影响构造函数的原型对象的属性