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

前端之家收集整理的这篇文章主要介绍了javascript – for … in循环和jQuery each()函数有什么区别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用以下脚本来迭代对象(我不知道哪一个最好用,请告诉我哪一个是最好的):
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>');
}

解决方法

无论哪种方式,你应该缓存该选择器:
var elem = $( '#days' );
$.each(days,value){
    elem.append('<li>'+key+'('+value+')</li>');
});

在这种情况下,.each()会更好.图案更清洁.

使用for循环,你需要使用obj.hasOwnProperty(key),这样你就不会通过继承的属性进行挖掘…这会增加另一层缩进:

var elem = $( '#days' );
for( var key in days ){
  if( days.hasOwnProperty( key ) ){
    elem.append('<li>'+key+'('+days[key]+')</li>');
  }
}

猜你在找的jQuery相关文章