gpt4 book ai didi

javascript - 如何使用变量作为构造函数属性?

转载 作者:行者123 更新时间:2023-12-03 07:49:02 26 4
gpt4 key购买 nike

function Volkswaggen($options) {

$.each($options, function(k,v) {
this.k = v;
});
}
/* ============================== */

var $polo = new Volkswaggen({model: "Polo", doors: 3});

console.log($polo.model); // << I want this to return "Polo"

$polo.model 返回未定义。

如果我将 this.k = v; 更改为 this[k] = v; 并执行 console.log(this.model) 在每个循环内,控制台返回“Polo undefined”,并且 console.log($polo); 也仍然返回 undefined。

有什么想法吗?

Code Screengrab

这是 fiddle :
https://jsfiddle.net/JCJWebDesign/zztqyvf4/1/

最佳答案

function Volkswaggen($options) {
var self = this;
$.each($options, function(k, v) {
self[k] = v;
});
}

/* =========================================== */

var $polo = new Volkswaggen({model: "Polo", doors: 3});

console.log($polo.model);

里面的$.each this不是新创建的对象,jQuery说-“关键字this引用元素。”

所以你应该做的是将this分配给另一个变量。让我们说 self 并使用它来代替。并且你不需要返回任何东西(自己或这个),JS 会处理这个

工作中FIDDLE

关于javascript - 如何使用变量作为构造函数属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35078471/

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