我正在尝试自学jQuery / Javascript,并且正在通过Avgrund source,我不确定avgrund.js中return语句的确切目的。

它像某种伪类一样起作用吗?在Avgrund的index.html中,函数定义如下:var Avgrund = (function(){ ...似乎被称为我的return语句/函数的成员或具有的任何技术名称。

这个:

return {
    activate: activate,
    deactivate: deactivate,
    disableBlur: disableBlur,
    show: show,
    hide: hide
}


这只是限制function_name调用方式的一种方法吗?因此,我只能致电function_name. [ activate / deactivate / disableBlur / show / hide ]

而且,在冒号之后是那些要调用的函数名?例如,

method: lemon。如果我调用Avgrund.method(),它将调用函数lemon

总的来说,我正在寻找这种返回语法的解释,我在这里正确的道路上吗?

这种结构叫什么,以便我可以在Coffeescript中复制它?

最佳答案

这基本上是在JS中创建对象的简写。这个:

return {
    activate: activate,
    deactivate: deactivate,
    disableBlur: disableBlur,
    show: show,
    hide: hide
}


等效于此:

var x = new Object();
x.activate = activate;
x.deactivate = deactivate;
x.disableBlur = disableBlur;
x.show = show;
x.hide = hide;

return x;


此调用:var x = {}var x = new Object()相同

关于javascript - jQuery“返回{foo:bar,foo2:bar2}”-这是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20471012/

10-12 12:26