对象无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 相关文章推荐
js 省地市级联选择
Feb 07 Javascript
javascript中处理时间戳为日期格式的方法
Jan 02 Javascript
用队列模拟jquery的动画算法实例
Jan 20 Javascript
JQuery实现防止退格键返回的方法
Feb 12 Javascript
Vue学习笔记进阶篇之单元素过度
Jul 19 Javascript
详解如何使用 vue-cli 开发多页应用
Dec 16 Javascript
新手必须知的Node.js 4个JavaScript基本概念
Sep 16 Javascript
angularJs在多个控制器中共享服务数据的方法
Sep 30 Javascript
原生js实现trigger方法示例代码
May 22 Javascript
vue页面切换项目实现转场动画的方法
Nov 12 Javascript
微信小程序wx.getUserInfo授权获取用户信息(头像、昵称)的实现
Aug 19 Javascript
Vue页面跳转传递参数及接收方式
Sep 09 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 删除cookie和浏览器重定向
2009/03/16 PHP
基于pear auth实现登录验证
2010/02/26 PHP
PHP中PDO基础教程 入门级
2011/09/04 PHP
str_replace只替换一次字符串的方法
2013/04/09 PHP
利用PHP函数计算中英文字符串长度的方法
2014/11/11 PHP
Yii中CGridView实现批量删除的方法
2015/12/28 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
2019/05/09 PHP
Laravel监听数据库访问,打印SQL的例子
2019/10/24 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
Laravel服务容器绑定的几种方法总结
2020/06/14 PHP
xtree.js 代码
2007/03/13 Javascript
DIV外区域Click后关闭DIV的实现代码
2011/12/21 Javascript
如何调试异步加载页面里包含的js文件
2014/10/30 Javascript
深入理解JavaScript系列(41):设计模式之模板方法详解
2015/03/04 Javascript
jQuery插件实现适用于移动端的地址选择器
2016/02/18 Javascript
JS中如何实现点击a标签返回页面顶部的问题
2017/01/19 Javascript
完美解决浏览器跨域的几种方法(汇总)
2017/05/08 Javascript
vue2利用Bus.js如何实现非父子组件通信详解
2017/08/25 Javascript
mpvue 单文件页面配置详解
2018/12/02 Javascript
vue权限问题的完美解决方案
2019/05/08 Javascript
详解关于React-Router4.0跳转不置顶解决方案
2019/05/10 Javascript
ckeditor一键排版功能实现方法分析
2020/02/06 Javascript
[02:51]2018年度DOTA2最佳中单位选手-完美盛典
2018/12/17 DOTA
给Python中的MySQLdb模块添加超时功能的教程
2015/05/05 Python
python简单判断序列是否为空的方法
2015/06/30 Python
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
2017/09/22 Python
解析python实现Lasso回归
2019/09/11 Python
1688平价精选商城:阿里集团旗下,工厂出厂价格直销
2017/04/24 全球购物
Viking Direct荷兰:购买办公用品
2019/06/20 全球购物
教师节商场活动方案
2014/02/13 职场文书
镇党政领导班子民主生活会思想汇报
2014/10/11 职场文书
部门优秀员工推荐信
2015/03/24 职场文书
人工作失职检讨书
2015/05/05 职场文书
医院保洁员管理制度
2015/08/05 职场文书
聘任合同书
2015/09/21 职场文书
Mysql 如何查询时间段交集
2021/06/08 MySQL