gpt4 book ai didi

javascript - 从 "this"中删除函数

转载 作者:行者123 更新时间:2023-11-29 18:08:39 24 4
gpt4 key购买 nike

我有一个带有原型(prototype)函数的函数,该函数在其 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]}
}
}

我的问题是,如何不在 console.log 中显示 childOfChild: [Function]

我知道这是可能的,但我不记得该怎么做。

最佳答案

您可以将其定义为不可枚举的属性:

parent.prototype.child = function(name) {
this.v++;
console.log(this); // {v: 1}

<b>Object.defineProperty(this, "childOfChild", {
enumerable: false,
writable: true,
configurable: true,
value:</b> function(name) {
this.v++;
console.log(this); // {v: 2, childOfChild: [Function]}
}
<b>});</b>
};

false 也是默认值,因此您也可以省略 enumerable

关于javascript - 从 "this"中删除函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29451201/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com