这确实与 javascript 语法有关,而不是 jQuery。
{}
适用于这样的对象:
//makes an empty object
var myObject = {};
//makes an object containing 'foo' and 'bar' as 'firstItem' and 'secondItem'
var myObject = { firstItem : foo, secondItem : bar };
[]
适用于这样的数组:
//makes a blank array
var myArray = [];
//makes an array containing 'foo' and 'bar' at postions 0 and 1
var myArray = [foo, bar];
()
用于函数(通常是 jQuery)。这有点复杂,因为它可以有多种含义。
//running an existing function
myFunction();
//running an anonymous function
(function(){
//doSomething }
)();
//running a function with an argument
myFunction(arg);
jQuery 通常只是一个被调用的函数,$
而不是myFunction
这样......
//runs jQuery as a function on 'arg'
$(arg);
你传递给 jQuery 的参数几乎可以是任何东西。如果你传递一个像'#myDiv'
jQuery 这样的字符串,它将使用该参数作为选择器从 html 中获取一个元素。如果您将对象或数组之类的其他东西传递给它,它仍然可以用它做一些事情,例如:http ://api.jquery.com/jQuery/ 正如@dystroy 所说。
所以$({})
是一样的$(myBlankObject)
,例如:
var myBlankObject = {};
$(myBlankObject);
//is the same as
$({});
和
var myObjectWithStuff = { firstItem : foo, secondItem : bar };
$(myObjectWithStuff);
//is the same as
$({ firstItem : foo, secondItem : bar });
$('selector')
作品。$({'selector'})
或者$(['selector'])
没有,因为您没有向 jQuery 传递一个字符串,而是另一种数据类型。