微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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>');
  }
}

原文地址:https://www.jb51.cc/jquery/157586.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐