我有一个带有原型函数的函数,它在this
上包含一个函数,如下所示:
function parent(){
this.v = 0;
console.log(this); // {v: 0}
}
parent.prototype.child = function(name){
this.v++;
console.log(this); // {v: 1}
this.childOfChild = function(name){
this.v++
console.log(this); // {v: 2, childOfChild: [Function]}
}
}
我的问题是,如何在childOfChild: [Function]
中显示console.log
?
我知道这是可能的,但我不记得该怎么做了。
答案 0 :(得分:4)
您可以将其定义为不可枚举的属性:
parent.prototype.child = function(name) {
this.v++;
console.log(this); // {v: 1}
Object.defineProperty(this, "childOfChild", {
enumerable: false,
writable: true,
configurable: true,
value: function(name) {
this.v++;
console.log(this); // {v: 2, childOfChild: [Function]}
}
});
};
false
也是默认设置,因此您也可以省略enumerable
。