无法访问在构造函数中设置的变量

威客

任何人都可以提出建议,因为此代码可能有什么问题?在构造函数中设置的变量只能在对象创建时访问,但是一旦我调用了对象的方法之一,该变量就不再可以访问。

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()
  • 或者您像在sitdown()中那样使用call()/ apply()进行调用standup.call(this)

您的standup()方法将sitdown()作为函数而不是方法进行调用,这将不起作用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法访问函数中的变量

来自分类Dev

“无法访问未初始化的变量。” 在类构造函数中

来自分类Dev

无法访问“ <init>”:它是“构造函数”中的公共/ * package * /

来自分类Dev

无法访问AsyncController的构造函数中的HttpContext或Request对象

来自分类Dev

无法访问成员函数中的类变量

来自分类Dev

Promise函数无法访问父变量

来自分类Dev

JavaScript setTimeout无法访问函数变量

来自分类Dev

无法从类构造函数中访问全局变量

来自分类Dev

为什么在Dart的null安全中无法访问List()构造函数?

来自分类Dev

在RSpec测试中无法访问变量

来自分类Dev

jQuery $ .post中的无法访问变量

来自分类Dev

无法访问不同类中的变量

来自分类Dev

无法访问JavaScript中的Java变量

来自分类Dev

无法访问Javascript对象中的变量

来自分类Dev

无法访问$ watch中的范围变量

来自分类Dev

无法访问 aspx 页面中的变量

来自分类Dev

无法访问php中的会话变量

来自分类Dev

Python 中的缩进使变量无法访问

来自分类Dev

无法访问Friend类的私有构造函数

来自分类Dev

无法访问变量

来自分类Dev

无法访问“变量”?

来自分类Dev

无法访问变量

来自分类Dev

PHPmail函数中的“无法访问文件:”

来自分类Dev

无法访问嵌套函数中的“ this”

来自分类Dev

在 PHP 中无法访问继承的函数

来自分类Dev

内部函数更改后无法访问外部函数变量

来自分类Dev

在javascript中访问构造函数中的变量

来自分类Dev

量角器:无法访问父函数中定义的闭包中的变量

来自分类Dev

无法访问在另一个模块中设置的类实例变量