可能是JavaScript中最不被理解的部分,站在原型链旁边.
所以问题是:怎么做......
new dataObj(args);
Run Code Online (Sandbox Code Playgroud)
...实际创建一个对象,并定义其原型链/构造函数/等?
最好是展示一个替代方案,以完全理解这个关键字.
我正在看到有关"新"Object.create的帖子,它使枚举可配置.但是,它依赖于Object.defineProperty方法.我找不到这种方法的跨浏览器实现.
我们是不是在为旧的Object.create写作?我不能写出在IE6/7中无效的东西.
o.prototype = {...}仅在o是函数时才起作用.假设我有以下代码
conf = {
a: 2,
b: 4
};
conf.prototype = {
d: 16
}
Run Code Online (Sandbox Code Playgroud)
conf.a和conf.b没问题并返回正确的值.但是conf.d没有返回16而是未定义.是否有任何解决方案,基于原型的泛化也可以应用于这些类型的对象.
javascript ×3
object ×2
ecma262 ×1
ecmascript-5 ×1
function ×1
new-operator ×1
oop ×1
prototype ×1