我已经打开 jQuery 1.7.1 库并想研究代码,但我发现函数以奇怪的方式声明(对我来说)。例如:
show: function() {
//some code here
},
我学会了这样定义函数:
function show() {
//some code here
}
有人可以解释一下为什么吗show函数不是用第二种方式编写的(就像互联网上的大多数教程一样)?
这是因为它位于对象内。Object Literals它们的属性以这种方式定义:
{
name: value,
//OR
'name': value
}
其中 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 开发者网络,包括他们的JavaScript 教程系列
希望这可以帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)