任何人都可以提出建议,因为此代码可能有什么问题?在构造函数中设置的变量只能在对象创建时访问,但是一旦我调用了对象的方法之一,该变量就不再可以访问。
function Animal(name) {
this.name = name
}
Animal.prototype = (function()
{
var i = 0;
var sitdown = function() {
console.log(this.name + ' sits down.');
standup();
};
var standup = function (){
console.log(this.name+' stands up');
if(i != 10)
{
i++;
sitdown();
}
};
return {
standup: standup
}
})();
var Tiger = new Animal("Tiger");
Tiger.standup();
输出:
Tiger stands up
sits down.
stands up
sits down.
.......
.......
stands up
sits down.
stands up
“ this”仅包含对象引用(如果您
this.sitdown()
standup.call(this)
。您的standup()方法将sitdown()作为函数而不是方法进行调用,这将不起作用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句