gpt4 book ai didi

javascript - 特权方法 - 如何获取传递给函数的属性值?

转载 作者:行者123 更新时间:2023-11-28 13:35:58 24 4
gpt4 key购买 nike

(示例来自书本,但我似乎不明白)

    function User (properties){
for( var i in properties){
(function(){
this["get"+i] = function () { return properties[i];};
this["set"+i] = function (valueOne) { properties[i] = valueOne; };
}) ();
}// END for
}// END User

var userOne = new User ({ name: "Billy", age: 35 });
userOne.getname();

当我运行此命令时,用户没有 getname 方法。如何使特权方法起作用?

最佳答案

您需要在闭包中捕获 thisi:

function User (properties){
for( var i in properties){
(function(t, i){
t["get"+i] = function () { return properties[i];};
t["set"+i] = function (valueOne) { properties[i] = valueOne; };
}) (this, i);
}// END for
}// END User

关于javascript - 特权方法 - 如何获取传递给函数的属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21288380/

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