这个JavaScript语法与" $"是什么?和" []"?

时间:2015-11-30 09:05:06

标签: javascript jquery

我正在学习jQuery。代码片段如下。我不理解最后一句话的语法。

  • 为什么没有.

  • []是什么意思?

  • BTW,$的特殊之处是什么?

    /* Code provided for context, irrelevant to the actual question.
      $('#executeButton').click(function(){
      $('body').addClass('done');
      $('.done #controls :radio').attr('disabled',true);
      var sources$ = $('#sourcePane input:checked~img');
      if ($('[name=clone]:checked').val()=='yes') sources$ = sources$.clone();
      var targets$ = $('#targetPane input:checkbox:checked').parents('.target');
      var operation = $('[name=operations]:checked').val();*/
      targets$[operation](sources$); //<=== HERE
    /*});*/
    

    还有一些背景:

        <div>
          <label>Operation:</label><br/>
          <input type="radio" name="operations" value="append" checked="checked"/> append
          <input type="radio" name="operations" value="prepend"/> prepend
          <input type="radio" name="operations" value="before"/> before
          <input type="radio" name="operations" value="after"/> after
        </div>
    

2 个答案:

答案 0 :(得分:3)

  

[]意味着什么?

[]是一种特殊的javascript属性访问表示法。想象一下,如果我有一个ojbect,如:

var o =  {
   "abc.xyz" : 5
};

我不能说o.abc.xyz,这就是[]方便o['abc.xyz']的地方。

  

$?

有什么特别之处

$通常用作jquery的命名约定:

var $this = $(this);

答案 1 :(得分:1)

让我们看看这一行:

targets$[operation](sources$);

targets$sources$只是变量。 $是一个有效的字符,可以在变量的任何位置使用,就像您可以使用S一样。将它们更改为targetsSsourcesS意味着相同。

targets$[operation]是一个数组索引。 targets$已经是一个数组,用于选中包含.target的所有已选中复选框。