【发布时间】:2016-08-12 05:23:31
【问题描述】:
从ObjectConstructor.defineProperty我看到这个函数的第一个参数是(o:any),表示任意对象。
所以我尝试为构造函数和实例定义一个属性,如下所示:
function h(){this.a='abc';}
h()
console.log(exports.a);
Object.defineProperty(h,'b');//TypeError
var hinst=new h();
Object.defineProperty(hinst,'b');//TypeError
Object.def
其实这两个 Object.defineProperty 语句都会抛出运行时异常,就是说
TypeError:属性描述必须是对象:未定义。 为什么会发生此错误,关于如何使用 Object.defineProperty 的任何迹象或任何实际限制?
【问题讨论】:
-
"我看到了这个函数的第一个参数……" - 你在读什么文档?第二个参数说明了什么?
标签: javascript object properties prototype