JavaScript:在Object Literal中分配方法

时间:2015-08-04 22:12:16

标签: javascript object

我正在尝试在对象文字中设置方法。该方法是外部函数。我认为以下内容可行:

    //  Global Data & Function
    var message='global';
    function sayit() {
        alert(this.message);
    }

    var a={
        message: "apple",
        doit: sayit
    }

甚至

    var b={
        message: "banana",
        doit: sayit.bind(this)
    }

但他们都失败了。

似乎添加方法的唯一方法是:

    a.doit=sayit;

    var a={
        message: "apple",
        doit: function() {
            sayit();
        }
    }

是否有更直接的方法将函数指定为方法?

由于

1 个答案:

答案 0 :(得分:2)

您是否使用正确的名称调用该函数,它应该是这样的:

//  Global Data & Function
    var message = 'global';
    function sayit() {
        alert(this.message);
    }
    var a = {
        message: "apple",
        doit: sayit
    }

    a.doit();