代码之家  ›  专栏  ›  技术社区  ›  MedicineMan

在jquery中,$是什么意思?

  •  1
  • MedicineMan  · 技术社区  · 14 年前

    以下是什么意思?

    $.each(json.results, function(i, item) {
        ...
    }
    

    我有点理解这句话的其他部分,但如果你也能解释清楚,我会很感激的。

    4 回复  |  直到 14 年前
        1
  •  3
  •   Doug Neiner    14 年前

    $.each 提供一个简单的迭代器,它将为数组中的每个元素执行一次回调函数。

    对于我的例子,假设:

    var json = {
       results: [1, 2, 3]
    };
    

    除了使用参数( index, item ) this 每个回调中的变量可用于引用当前项。

    更新 :此示例更改为显示其他参数的使用:

    $.each( json.results, function(index, item){
       console.log(this + " " + index + " " + item);
    });
    // Outputs:
    // 1 0 1
    // 2 1 2
    // 3 2 3
    

    第一个参数是 指数 循环中当前项的。它是一个零基索引。这个 第二 参数是当前迭代的项。你可以使用 或者变量,但是在这种情况下变量很有用:

    $.each (json.results, function(index, item){
       // this == number
       // item == number
       $('div').click(function(e){
          // this == div
          // item == number
       });
    });
    

    此外,还有一些控件可以使用,类似于 break continue 声明。

    如果你想 持续 next 在任何时候,使用 return true;

    $.each( json.results, function(i, item){
      if(this == 2) return true;
      // do something else
    });
    

    如果你想 打破 ,使用 return false;

    var f;
    $.each( json.results, function(i, item){
       if(this == 2){
          f = this;
          return false; // exits the iterator
       }
    });
    
        2
  •  1
  •   Sampson    14 年前

    它只是意味着你想做点什么 每个 结果发现 json.results . 在花括号中,当前处理的结果是 this ,所以您可以执行以下操作:

    var json = { 'results':{'name':'jonathan', 'age':'26'} };
    
    $.each(json.results, function(i,o){
      alert(this);
      // First iteration : 'Jonathan'
      // Second Iteration: '26'
    });
    
        3
  •  0
  •   Alex Gaynor    14 年前

    $每个基本上都是一个迭代习语,类似于javascripts:

    for (x in container)
    

    除了它迭代值,而不是键(或数组中的索引)。

        4
  •  0
  •   nickf    14 年前

    它迭代对象的成员。一个例子:

    var obj = {
        alpha : 'A',
        beta : 'B',
        3 : 'C'
    };
    
    $.each(obj, function(key, val) {
        console.log(key);    // alpha, beta, 3
        console.log(val);    // A, B, C
        console.log(this);   // A, B, C
    });
    

    编辑:实际上,上面是一个不好的例子 this ,因为如果您的值是一个字符串或数字,它将从文本(“c”)转换为对象(新字符串(“c”),但对于其他事物(函数、元素、数组等),它不会被更改。