对象无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 相关文章推荐
javascript设计模式 接口介绍
Jul 24 Javascript
jquery简单瀑布流实现原理及ie8下测试代码
Jan 23 Javascript
JQuery 图片的展开和伸缩实例讲解
Apr 18 Javascript
JavaScript中获取鼠标位置相关属性总结
Oct 11 Javascript
JavaScript的RequireJS库入门指南
Jul 01 Javascript
js移动焦点到最后位置的简单方法
Nov 25 Javascript
Node.js中.pfx后缀文件的处理方法
Mar 10 Javascript
从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
Apr 13 Javascript
微信小程序 input表单与redio及下拉列表的使用实例
Sep 20 Javascript
vue基于mint-ui实现城市选择三级联动
Jun 30 Javascript
基于vue,vue-router, vuex及addRoutes进行权限控制问题
May 02 Javascript
Vue中使用的EventBus有生命周期
Jul 12 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
php实现的简单检验登陆类
2015/06/18 PHP
FleaPHP框架数据库查询条件($conditions)写法总结
2016/03/19 PHP
php中遍历二维数组并以表格的形式输出的方法
2017/01/03 PHP
PHP下 Mongodb 连接远程数据库的实例代码
2017/08/30 PHP
php二维数组按某个键值排序的实例讲解
2019/02/15 PHP
Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析
2020/05/15 PHP
jQuery入门知识简介
2010/03/04 Javascript
文本域中换行符的替换示例
2014/03/04 Javascript
Javascript模拟加速运动与减速运动代码分享
2014/12/11 Javascript
JavaScript设计模式学习之“类式继承”
2015/03/12 Javascript
15个常用的jquery代码片段
2015/12/19 Javascript
基于JS实现省市联动效果代码分享
2016/06/06 Javascript
jQuery基础_入门必看知识点
2016/07/04 Javascript
微信公众号开发 实现点击返回按钮就返回到聊天界面
2016/12/15 Javascript
javascript实现简单的ajax封装示例
2016/12/28 Javascript
Vue声明式渲染详解
2017/05/17 Javascript
使用DataTable插件实现异步加载数据
2017/11/19 Javascript
jQuery第一次运行页面默认触发点击事件的实例
2018/01/10 jQuery
微信小程序实现全局搜索代码高亮的示例
2018/03/30 Javascript
layui时间控件选择时间范围的实现方法
2019/09/28 Javascript
Vue通过WebSocket建立长连接的实现代码
2019/11/05 Javascript
ptyhon实现sitemap生成示例
2014/03/30 Python
Python中实现两个字典(dict)合并的方法
2014/09/23 Python
python实现微信远程控制电脑
2018/02/22 Python
深入分析python数据挖掘 Json结构分析
2018/04/21 Python
Python实现处理逆波兰表达式示例
2018/07/30 Python
对Python+opencv将图片生成视频的实例详解
2019/01/08 Python
在Pycharm terminal中字体大小设置的方法
2019/01/16 Python
python文件写入write()的操作
2019/05/14 Python
HTML5 FileReader对象的具体使用方法
2020/05/22 HTML / CSS
Space NK美国站:英国高端美妆护肤商城
2017/05/22 全球购物
丝芙兰香港官网:Sephora香港
2018/03/13 全球购物
自考自我鉴定范文
2013/10/30 职场文书
小学生寒假家长评语
2014/04/16 职场文书
元旦主持词开场白
2015/05/29 职场文书
大学生就业指导课心得体会
2016/01/15 职场文书