我看到经常在一些jQuery插件这是什么jQuery语法?
$('#foo').myPlugin({
foo: 'bar',
bar: 'foo'
});
我在.myPlugin()部分讲的是{}。我看到经常匿名的功能,如
.click(function(){
});
,但上面的语法不同
感谢您的帮助看起来!
我看到经常在一些jQuery插件这是什么jQuery语法?
$('#foo').myPlugin({
foo: 'bar',
bar: 'foo'
});
我在.myPlugin()部分讲的是{}。我看到经常匿名的功能,如
.click(function(){
});
,但上面的语法不同
感谢您的帮助看起来!
这是一个对象。这个表示法被用来模拟named arguments- JS本身不能做AFAIK的东西。
它允许的其他参数的无限延伸,而不必声明它们的函数声明:
function myfunc(args) { }
vs.
function myfunc(duration, opacity, width, height, speed) { }
和 - 最重要的是 - 它允许对参数的任意排序:
{"duration": "0.5",
"width": 300,
"speed": 2 }
看到许多JS开发人员不在IDE的环境中工作(它会使用“预见”显示预期的功能参数),这是一件非常方便的事情,因为您不必记住哪个参数的顺序何时来临。
这样做的缺点是,如果是是IDE,那么很难为这些假命名参数提供任何“向前看”功能,并且参数的任意排序可能会导致某种程度的混乱从长远来看。
这只是一个函数调用,其中arg实际上是params的映射。
这是一个JavaScript对象字面量。它是JavaScript语言的一部分(不专用于jQuery)。 JavaScript对象本质上是名称和值的映射;名称和值由冒号分隔,并且这些对之间用逗号分隔。整件事情都包裹在一对大括号中。
所以,如果你做了这样的事情:
var obj = { foo: 'bar', name: 'value' };
你以后可以做这样的事情:
alert(obj.foo); //alerts "bar"
甚至:
alert(obj['foo']); //also alerts "bar"
在这种情况下,对象正在作为参数传递给myPlugin()函数。
非常感谢配偶:) – allaire 2010-05-07 19:11:24