JavaScript语言精粹第三章读书笔记(2)

390 阅读1分钟
  • 对象

  • 更新

对象中的值可以通过赋值语句来更新。如果属性名已经存在对象中,那么这个属性的值被替换

    stooge{'first-name'}='Jerome';

如果对象之前并没有拥有那个属性名,那么该属性就被扩充到该对象中。

stooge['middle-name']='Lester';
stooge.nickname = 'Curly';
flight.equipment={
    model: 'Boeing 777'
};
flight.status='overdue'
  • 引用

对象通过引用来传递。他们永远不会被拷贝

var x =stooge;
x.nickname='Curly';
var nick=stooge.nickname;
// 因为x和stooge是指向同一个对象的引用,所以nick为'Curly'
var a={ },b={},c={};
// a,b和c每个都引用一个不同的空对象
a=b=c={};
// a、b和c都引用同一个空对象
  • 原型

等你创建一个新对象时,你可以选择某个对象作为它的原型。比如就我们就可给object增加一个beget方法。这个beget方法创建一个使用源对象作为其原型的新对象

if(typeof Object.beget !== 'function'){
    Object.beget=function(0){
        var F =function(){}
            F.prototype=0;
            return new F();
        };
    
}
var another_stooge=Object.beget(stooge);