gpt4 book ai didi

javascript - 有人可以解释一下 Object.defineProperty 在 javascript 的构造函数中是如何工作的吗

转载 作者:行者123 更新时间:2023-12-03 10:35:55 24 4
gpt4 key购买 nike

我创建了一个非常简单的对象Person,并使用name参数调用构造函数,因为我没有在Person中创建任何局部变量构造函数,然后如何设置 name 属性。

function Person(name) {
Object.defineProperty(this, "name", {
get: function() {
return name;
},
set: function(newName) {
debugger;
name = newName;
},
enumerable: true,
configurable: true
});
this.sayName = function() {
console.log(this.name);
};
}

var p1 = new Person("mike");

如何设置name属性?

最佳答案

I haven't created any local variables inside Person constructor

name 是一个局部变量,由函数的 name 参数声明。该变量用于 .name 属性的 setter 和 getter。

关于javascript - 有人可以解释一下 Object.defineProperty 在 javascript 的构造函数中是如何工作的吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28987543/

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