Javascript:从函数对象内调用对象函数

标签 javascript function oop

我的问题似乎是,如果我从函数对象中调用它,我的对象函数将不可见。示例代码:

function foo()
{
   this.bar = function() 
              { 
                 alert("hit me!"); 
              }

   this.sna = { 
                 fu:   function () 
                       {
                          this.bar();
                       }
              };

}

this 似乎指的是 sna 而不是 foo。我如何寻址foothis.parent 不起作用。

最佳答案

使用变量来引用this(Foo)。请参阅this - JavaScript | MDN

function Foo() {
    this.bar = function() {
        console.log("hit me!");
    };

    var that = this;

    this.sna = {
        fu: function() {
            that.bar();
        }
    };

}

var foo = new Foo();
foo.bar();
foo.sna.fu();

关于Javascript:从函数对象内调用对象函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31923409/

相关文章:

javascript - 使用 webpack 导入 angularjs 的最佳实践是什么?

javascript - 服务器端按钮单击事件未在 UpdatePanel 内触发

sql - 从函数返回 CASE 表达式的聚合

image - 用于图像数据的 Matlab hist 函数

python - 从另一个对象 B 本身的 A 属性访问对象 A 的属性

python - 如何修改库的类以使其使用我对另一个库类的扩展?

javascript - Ruby on Rails 显示 f.text_area 的剩余字符数

javascript - 正则表达式 : Capture multiple groups using quantifier

c# - Azure Function - 写入和读取 blob 文件

java - 如何在 Java 中给定键字符串创建特定类的对象?