我想只使用该Object.create
函数创建一个对象(没有任何原型,第一个参数为 null)。
我在某处读到属性决定了 JavaScript 中对象的状态,而 JavaScript 具有三种不同的属性:
- 命名数据属性
- 命名访问器属性
- 内部属性
因此,当我在对象中定义函数时,我是否应该始终将其定义为named accessor property
:
var obj = Object.create(null, {
a:{
get:function(){
alert('jQuery nyan!');
}
}
});
或者我应该将函数定义为 anamed data property
当它既不是 asetter
也不是 a时getter
?[例如一些对 DOM obj 进行更改的 jQuery 函数]
var obj = Object.create(null, {
a:{
value:function(){
alert('jQuery nyan!');
}
}
});
我应该采取哪种方法?在性能(速度)和内存管理方面它们有区别吗?他们似乎都毫无例外地工作。
obj.a;
//output: 'jQuery nyan!'