对象无length属性时IE6/IE7中无法将其转换成伪数组(ArrayLike)


Posted in Javascript onJuly 31, 2011

有时需要将数组转成伪数组(ArrayLike),如下

var ary = ['one','two','three']; 
var obj = {}; // 没有length属性 
Array.prototype.push.apply(obj, ary); 
for(var i in obj){ 
alert(i + ': ' + obj[i]); 
}

IE8/9/Firefox/Safari/Chrome 依次弹出了obj的key及其value。即能转换成ArrayLike。
但IE6/7下则不能,没有输出任何信息表明obj仍然是个空对象。
如果给obj加个length属性,情况则不同
var ary = ['one','two','three']; 
var obj = {length:0}; // 有length,值为0 
Array.prototype.push.apply(obj, ary); 
for(var i in obj){ 
alert(i + ': ' + obj[i]); 
}

这次IE6/7(所有浏览器)中均弹出了key及其value,都能转换成ArrayLike
注意,length只能赋值为0而非它值,否则得到的对象key和value就不是一一对应的了。
var ary = ['one','two','three']; 
var obj = {length:2}; // 有length,非零值 
Array.prototype.push.apply(obj, ary); 
for(var i in obj){ 
alert(i + ': ' + obj[i]); 
}
Javascript 相关文章推荐
使用jquery自定义鼠标样式满足个性需求
Nov 05 Javascript
javascript去除空格方法小结
May 21 Javascript
使用node+vue.js实现SPA应用
Jan 28 Javascript
基于javascript html5实现3D翻书特效
Mar 14 Javascript
Summernote实现图片上传功能的简单方法
Jul 11 Javascript
angular实现IM聊天图片发送实例
May 08 Javascript
js canvas实现简单的图像扩散效果
Jun 28 Javascript
解决Vue 浏览器后退无法触发beforeRouteLeave的问题
Dec 24 Javascript
微信小程序实现简单表格
Feb 14 Javascript
Vuepress 搭建带评论功能的静态博客的实现
Feb 17 Javascript
laypage.js分页插件使用方法详解
Jul 27 Javascript
原生js实现表格循环滚动
Nov 24 Javascript
javascript中length属性的探索
Jul 31 #Javascript
javascript string字符串优化问题
Jul 31 #Javascript
超级有用的13个基于jQuery的内容滚动插件和教程
Jul 31 #Javascript
基于JQuery 的消息提示框效果代码
Jul 31 #Javascript
使用基于jquery的gamequery插件做JS乒乓球游戏
Jul 31 #Javascript
JQuery通过Ajax提交表单并返回结果
Jul 31 #Javascript
Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
Jul 31 #Javascript
You might like
IIS+PHP+MySQL+Zend配置 (视频教程)
2006/12/13 PHP
笑谈配置,使用Smarty技术
2007/01/04 PHP
一道求$b相对于$a的相对路径的php代码
2010/08/08 PHP
php 面试碰到过的问题 在此做下记录
2011/06/09 PHP
探讨:使用XMLSerialize 序列化与反序列化
2013/06/08 PHP
PHP设计模式之命令模式的深入解析
2013/06/13 PHP
php检查是否是ajax请求的方法
2015/04/16 PHP
thinkPHP线上自动加载异常与修复方法实例分析
2016/12/01 PHP
PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图
2017/05/15 PHP
有一段有意思的代码-javascript现实多行信息
2007/08/26 Javascript
浏览器脚本兼容 文本框中,回车键触发事件的兼容
2010/06/21 Javascript
IE6下出现JavaScript未结束的字符串常量错误的解决方法
2010/11/21 Javascript
控制台报错object is not a function的解决方法
2014/08/24 Javascript
分享两段简单的JS代码防止SQL注入
2016/04/12 Javascript
详解nodejs实现本地上传图片并预览功能(express4.0+)
2017/06/28 NodeJs
原生JS实现瀑布流插件
2018/02/06 Javascript
JavaScript对象的特性与实践应用深入详解
2018/12/30 Javascript
详解js创建对象的几种方法及继承
2019/04/12 Javascript
vue使用nprogress加载路由进度条的方法
2020/06/04 Javascript
最近Python有点火? 给你7个学习它的理由!
2017/06/26 Python
Python tkinter模块弹出窗口及传值回到主窗口操作详解
2017/07/28 Python
numpy.std() 计算矩阵标准差的方法
2018/07/11 Python
python opencv鼠标事件实现画框圈定目标获取坐标信息
2020/04/18 Python
简单易懂Pytorch实战实例VGG深度网络
2019/08/27 Python
Django框架反向解析操作详解
2019/11/28 Python
详解Django ORM引发的数据库N+1性能问题
2020/10/12 Python
美体小铺瑞典官方网站:The Body Shop瑞典
2018/01/27 全球购物
美国伴娘礼服商店:Evening Collective
2019/10/07 全球购物
介绍一下Java中的Class类
2015/04/10 面试题
专科毕业生求职简历的自我评价
2013/10/12 职场文书
民族团结先进个人事迹材料
2014/06/02 职场文书
美化环境标语
2014/06/20 职场文书
大学生军训自我鉴定范文
2014/09/18 职场文书
学校领导班子四风问题整改意见
2014/10/02 职场文书
2015世界地球日活动总结
2015/02/09 职场文书
2015年中秋节演讲稿
2015/03/20 职场文书