我想要的是一个带有值(clazz)和一个函数(测试)的对象,其中函数传递值。
https://jsfiddle.net/pzy9dm9x/2/
var Clazz = function(object) {
for(o in object) {
this[o] = object[o];
}
return this;
}
var Construct = Clazz({
clazz : "xyz",
test : function () {
console.log(this.clazz);
}
});
var a = new Construct();
console.log(a);
a.test();
我要:
xyz
我得到:
TypeError: Construct is not a constructor
最佳答案
您的Clazz
函数不返回构造函数。我想你实际上想要的是
function Construct() {
Clazz.call(this, {
clazz : "xyz",
test : function () {
console.log(this.clazz);
}
});
}
关于javascript - 构造函数中的this上下文不清楚,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37160852/