1

一个月前,我发现了一种编写 jQuery 事件的方法,比如“AddClass”或“each”。这种方式是使用括号而不是点和事件的名称。

一个例子:

这是通常的代码:$('#myID').hide('slow');

这是括号方式:$('#myID')['hide']('slow');

我很惊讶,因为我以前从未见过这种情况,而且我喜欢编写与其他人不同的代码。但是...我在互联网上搜索了这种编写jQuery事件的方式,看不到任何关于它的信息。

有人可以帮我吗?是否推荐使用此表格?我需要知道它有什么缺点吗?

4

3 回答 3

3

任何对象属性都是一样的,你可以访问它

obj['pname']

或者

obj.pname

并且函数hide$('#myID')对象的属性,这意味着您也可以使用

$('#myID')['hide']

比使用

$('#myID').hide

当您想要简洁并且必须根据某个变量调用函数时,这种表示法很有用:

queue[priority?'unshift':'push']({src:src, callback:callback});

有关更多详细信息,请参阅使用 MDN 中的对象

于 2013-05-29T20:12:58.853 回答
1

可以通过两种方式访问​​ Javascript 对象。

  1. 传统的

    obj.param1.param2

  2. 作为关联数组

    obj['param1']['param2']

现在,这甚至适用于这些情况

obj.func = function() { //achieve something, or not. }

obj['func'] = function() {//achieve something. }
于 2013-05-29T20:15:59.653 回答
0

它是完全一样的,所以是的,你可以使用刹车。

我个人讨厌使用括号,除了做这样的代码之外没有发现任何好处:

function hideOrShow(show){
     //Show represant a var true or false
     $('div')[show ? 'show' : 'hide']();
}

这比

function hideOrShow(show){
    if(show) $('div')show();
    else $('div')hide();
}

使用.something()更传统,在我看来,更容易阅读。

于 2013-05-29T20:21:56.573 回答