从功能返回警报

时间:2012-07-10 07:05:10

标签: javascript

请告诉我为什么这不起作用。

如果我打电话给s.A,为什么警报不会显示。

var s = {

    A: function () { alert("test A"); },
    B: function () { alert("test B"); }

};


s.A;

感谢

3 个答案:

答案 0 :(得分:8)

尝试

s.A();

A是一个功能。如果您只是说s.A;,您所做的就是发出A所指的内容,例如如果我将s.A;打入Chrome的javaScript控制台,我会收到以下信息:Chrome Screenshot

注意它所做的一切是输出函数定义吗?

现在,如果我说's.A();'我得到了你原先的预期 - 它激发了这个功能:

enter image description here

答案 1 :(得分:3)

see it working on jsfiddle。你必须在s.A添加大括号才能使它成为函数调用。

s.A();

答案 2 :(得分:1)

您正在返回对该函数的引用,但它未被调用。为此,请在s.A之后添加大括号:

s.A();