我打开了 jQuery 1.7.1 库并想研究代码,但我发现函数以奇怪的方式声明(对我来说)。例如:
show: function() {
//some code here
},
我学会了用这种方式定义函数:
function show() {
//some code here
}
有人可以解释一下为什么 show 函数不是用第二种方式编写的(就像互联网上的大多数教程一样)吗?
最佳答案
这是因为它位于对象内。 Object Literals
以这种方式定义它们的属性:
{
name: value,
//OR
'name': value
}
其中值几乎可以是任何内容,例如数字、字符串、函数,甚至另一个对象。在 JavaScript 中,您还可以声明 anonymous functions
并将它们分配给一个变量。事实上,以下声明具有相同的效果:
//declares the myFunc1 function
function myFunc1() {}
//declares an anonymous function and assigns it to myFunc2
var myFunc2 = function() {};
//you can now call either like so:
myFunc1();
myFunc2();
因此,结合这两个概念,如果我有一个对象并且我希望它的属性之一是一个函数,我会这样做:
var myObj = {
name: 'My Object',
init: function() {
return 'Initializing!';
},
version: 1.0
};
alert(myObj.init());
然后您将得到输出:Initializing!
。请务必查看 Mozilla Developer Network 上的精彩文档和教程。 ,包括他们的JavaScript Tutorial Series
希望这有帮助!
关于javascript - jQuery 函数声明说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8480756/