百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>JS教程> javascript中for in 中key的类型使用说明
分享文章到:

javascript中for in 中key的类型使用说明

发布时间:01/15 来源: 浏览: 关键词:
本文章来给各位同学介绍javascript中for in 中key的类型使用说明,有需要了解学习的朋友可参考。

javascript中循环的方式有很多while、for (var k = 0; k < 10; k++) {}、for in..,比如数组是arr[154, 256, 369, 852, 952]我想求这个数组的平均值,以前用for in用的比较少这次就尝试用了for in 循环,可总也算不对平均值,代码如下:

 代码如下

function getAvgSum (arr, param, flag) {
 var as = 0;
 if (param) {
  for (var ai in arr) {
   as += parseInt(arr[ai][param]);
  }
 } else {
  for (var ai in arr) {
   //alert(typeof ai);
   as += parseInt(arr[ai]);
  }
 }

 if (flag == 'avg') {
  return as / (ai + 1);
  //return as / (parseInt(ai) + 1);
 }
 return parseInt(as);
}    

经过这种alert调试,终于找到了原因:alert(typeof ai)的结果是string,一直以为是数字。有同感的不


js 中for in 和for each in的区别


两个的作用都用来遍历对象,但为什么有了for in语句了还要for each in语句呢,后来看了下for each in开发的文档,for each in是作为E4X标准的一部分在javascript 1.6中发布的,而且它不是ECMAScript标准的一部分

 代码如下
copytext
var 超毛 = {
    身高:"185CM",
    体重:"70公斤",
    年龄:40
};
for (var i in 超毛){
    document.write("i = " + i + "..................超毛[i] = " + 超毛[i] + "<br>");
}
/*
结果
i = 身高..................超毛[i] = 185CM
i = 体重..................超毛[i] = 70公斤
i = 年龄..................超毛[i] = 40
*/
for each (var i in 超毛){
    document.write("i = " + i + "..................超毛[i] = " + 超毛[i] + "<br>");
}
/*
结果
i = 185CM..................超毛[i] = undefined
i = 70公斤..................超毛[i] = undefined
i = 40..................超毛[i] = undefined
*/var 超毛 = {
    身高:"185CM",
    体重:"70公斤",
    年龄:40
};
for (var i in 超毛){
    document.write("i = " + i + "..................超毛[i] = " + 超毛[i] + "<br>");
}
/*
结果
i = 身高..................超毛[i] = 185CM
i = 体重..................超毛[i] = 70公斤
i = 年龄..................超毛[i] = 40
*/
for each (var i in 超毛){
    document.write("i = " + i + "..................超毛[i] = " + 超毛[i] + "<br>");
}
/*
结果
i = 185CM..................超毛[i] = undefined
i = 70公斤..................超毛[i] = undefined
i = 40..................超毛[i] = undefined

*/注意变量i的值是不一样的,for each in无法获得对象的属性名,只能获取到属性值

如果你想遍历对象,超毛建议还是使用for in
1,for in在遍历对象伤还是比for each in功能更加强大for in不仅能遍历处所有属性名和属性值,for each in只能遍历出属性值
2,for in是javascript 1.0就出来的语法,for each in是javascript 1.6才出来的语法,很多浏览器是 不u支持的,比如IE6,7,8是不支持的,所以还是推荐使用for in

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有3人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板