Javascript 构造函数 : cant call inside func

标签 javascript constructor

<分区>

您好,我定义了这个脚本:

var asdf = {                
        settings : {            
            scope : "blah"
        },  
        func1 : function () {
                alert('1');
        },
        func2 : function () {
                this.func1();
        }
}

为什么我不能使用 this.func1() 来调用成员函数?这很奇怪,因为 this.settings.scope 工作得很好。

正确的语法是什么?发送

最佳答案

"why cant I use this.func1() to call a member func?"

你可以,只要你从 asdf 的上下文中调用 func2

asdf.func2();  // alerts '1'

如果你做了这样的事情......

var fn = asdf.func2;

fn();

那它就不行了,除非你手动设置上下文...

var fn = asdf.func2;

fn.call(asdf); // set the calling context of "func2" to the "asdf" object

关于Javascript 构造函数 : cant call inside func,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9081802/

相关文章:

javascript - 需要外部库的 Jasmine 测试

Javascript 获取两个日期之间的时差

javascript - 通过 node.js 将字符串传递给 shell 脚本的标准输入

java - 同一类中的两个构造函数具有不同的参数

java - 是否可以在构造函数中子类化 Java 对象?

javascript - 将 CSS 转换属性更改为顶级属性的最佳方法?

javascript - Card.js - 在表单中找不到数字输入

Java子类实现强制构造函数

java - 如何最好地解释和使用 Java 中的空构造函数?

dart - 为什么 dart 类构造函数可以没有主体?