为什么这不起作用?
var sheep = function(options){
this.options = {sizes: 100,
eat: 100,
colors: 'white',
running: function () {
return this.sizes + this.eat;
}
}
};
var blacksheep = new sheep({colors:'black'});
alert('blackcsheep color is ' + blacksheep.colors);//error undefined
alert('blackcsheep color is ' + blacksheep.options.colors);// it return white
alert('blackcsheep running is ' + blacksheep.running());//error
Run Code Online (Sandbox Code Playgroud)
语法:
var sheep = {sizes:100, eat:100, colors:'white',running:function(){
return this.sizes+this.eat;
}
};
Run Code Online (Sandbox Code Playgroud)
是一个对象字面量。它定义了对象的实例,但不定义定义它的类。因此,无法“新建”该对象的另一个实例。
看一下 jQuery 的extend功能:
var blacksheep = {
}
$.extend(blacksheep, sheep, { color: black });
Run Code Online (Sandbox Code Playgroud)
sheep这将复制into的所有属性blacksheep,然后将第三个参数合并到 中blacksheep,有效地实现您想要的。
| 归档时间: |
|
| 查看次数: |
251 次 |
| 最近记录: |