对象无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 相关文章推荐
图片之间的切换
Jun 26 Javascript
js 键盘记录实现(兼容FireFox和IE)
Feb 07 Javascript
Javascript 遍历页面text控件详解
Jan 06 Javascript
jQuery图片切换插件jquery.cycle.js使用示例
Jun 16 Javascript
JavaScript表单焦点自动切换代码
Jul 24 Javascript
javascript创建对象的3种方法
Nov 02 Javascript
纯原生js实现table表格的增删
Jan 05 Javascript
Node.js Express 框架 POST方法详解
Jan 23 Javascript
微信小程序删除处理详解
Aug 16 Javascript
基于node下的http小爬虫的示例代码
Jan 11 Javascript
深入理解Vue Computed计算属性原理
May 29 Javascript
Vue项目中如何使用Axios封装http请求详解
Oct 23 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使用memcache存储session的详解
2013/06/25 PHP
PHP 5.5 创建和验证哈希最简单的方法详解
2013/11/07 PHP
php object转数组示例
2014/01/15 PHP
php的慢速日志引起的Mysql错误问题分析
2014/05/13 PHP
PHP实现获取第一个中文首字母并进行排序的方法
2017/05/09 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
收藏一些不常用,但是有用的代码
2007/03/12 Javascript
JavaScript面向对象之静态与非静态类
2010/02/03 Javascript
jQuery实现的立体文字渐变效果
2010/05/17 Javascript
jQuery Dialog 弹出层对话框插件
2010/08/09 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之二
2011/12/31 Javascript
ASP.NET jQuery 实例17 通过使用jQuery validation插件校验ListBox
2012/02/03 Javascript
ArtEditor富文本编辑器增加表单提交功能
2016/04/18 Javascript
JS抛物线动画实例制作
2018/02/24 Javascript
使用Angular CLI从蓝本生成代码详解
2018/03/24 Javascript
vue实现选中效果
2020/10/07 Javascript
Python 抓取动态网页内容方案详解
2014/12/25 Python
python3下使用cv2.imwrite存储带有中文路径图片的方法
2018/05/10 Python
对python中if语句的真假判断实例详解
2019/02/18 Python
python防止随意修改类属性的实现方法
2019/08/21 Python
基于Python数据分析之pandas统计分析
2020/03/03 Python
Tensorflow与Keras自适应使用显存方式
2020/06/22 Python
Python datetime模块的使用示例
2021/02/02 Python
VELTRA台湾:世界自由行专家
2017/08/15 全球购物
俄罗斯在线水暖商店:Perfecto.ru
2019/10/25 全球购物
应聘编辑职位自荐信范文
2014/01/05 职场文书
物流管理专业毕业生求职信
2014/03/23 职场文书
医学求职信
2014/05/28 职场文书
企业管理标语
2014/06/10 职场文书
杜甫草堂导游词
2015/02/03 职场文书
2015年父亲节寄语
2015/03/23 职场文书
小学体育组工作总结2015
2015/07/21 职场文书
优秀大学生申请书
2019/06/24 职场文书
MySQL 慢查询日志深入理解
2021/04/22 MySQL
用几道面试题来看JavaScript执行机制
2021/04/30 Javascript
Python实现查询剪贴板自动匹配信息的思路详解
2021/07/09 Python