for ... in循环和jQuery each()函数有什么区别?

Sur*_*ttu 7 javascript jquery loops

我使用以下脚本来迭代对象(我不知道哪一个最好用,请告诉我哪一个是最好的):

var days = {Sunday: 0, Monday: 1, Tuesday: 2, Wednesday: 3, Thursday: 4, Friday: 5, Saturday: 6};

$.each(days, function(key, value){
    $('#days').append('<li>' + key + '(' + value + ')</li>');
});


for(var key in days){
    $('#days').append('<li>' + key + '(' + days[key] + ')</li>');
}
Run Code Online (Sandbox Code Playgroud)

Bar*_*mar 0

特点$.each: 函数返回则停止循环false。它适用于对象和数组。$(this)指当前正在处理的元素。

的缺点$.each: 开销较多,因为它对参数进行一些初始检查,并且必须对每个元素执行函数调用。

但正如其他人所说,除非您要处理大量项目,否则开销可能可以忽略不计。

另一个好处$.each()是可以轻松识别该单词——将其放在语句的开头可以明显看出您正在循环访问集合。查找起来也很方便。