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

 更新时间:2011年07月31日 21:36:13   作者:  
对象无length属性时IE6/7中无法将其转换成伪数组(ArrayLike) 的解决方法,需要的朋友可以参考下。
有时需要将数组转成伪数组(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操作cookie

    javascript操作cookie

    本文主要介绍了js对cookie的操作:js设置cookie;js获取cookie;给cookie设置终止日期;删除cookie 等,具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • javascript创建含数字字母的随机字符串方法总结

    javascript创建含数字字母的随机字符串方法总结

    如果想创建一个含有数字、字母(大小写)或者符号的字符串,比如从[a-zA-Z0-9]集合中中创建一个随机的字符串,长度为5.有没有什么比较好的代码呢?本文提供了几种方法,包括自动改变字符集合。一起来学习下。
    2016-08-08
  • javascript 同时在IE和FireFox获取KeyCode的代码

    javascript 同时在IE和FireFox获取KeyCode的代码

    以前一直在IE8中测试网站,后来写的一部分含有Ajax的代码出现了故障,不得已下载了Firefox以及它的插件Firebug,才发现,FF不支持windows.event事件。于是换了一种思路。
    2010-02-02
  • JavaScript中展开运算符及应用的实例代码

    JavaScript中展开运算符及应用的实例代码

    这篇文章主要介绍了JavaScript中展开运算符及应用的实例代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • js移动端图片压缩上传功能

    js移动端图片压缩上传功能

    这篇文章主要为大家详细介绍了js移动端图片压缩上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • Google Maps API地图应用示例分享

    Google Maps API地图应用示例分享

    这篇文章主要分享一段了Google Maps API地图应用示例,做项目中经常会使用到,非常的简单,有需要的朋友可以参考下
    2014-10-10
  • 鼠标放在图片上显示大图的JS代码

    鼠标放在图片上显示大图的JS代码

    将图片查询出来之后,还需要加一个查看大图的功能,于是就用js写了一个方法,然后在image的onmouseover事件中调用此方法,这样在鼠标悬浮在小图上面的时候,其大图就会自动的显示出来。
    2013-03-03
  • 拖动时防止选中

    拖动时防止选中

    本文主要介绍了拖动时防止选中的小知识点。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • TypeScript中Array(数组)声明与简单使用方法

    TypeScript中Array(数组)声明与简单使用方法

    这篇文章主要给大家介绍了关于TypeScript中Array(数组)声明与简单使用的相关资料,TypeScript Array(数组)数组对象是使用单独的变量名来存储一系列的值,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • 手把手教会你用Javascript实现放大镜效果(详细注释+完整代码)

    手把手教会你用Javascript实现放大镜效果(详细注释+完整代码)

    放大镜可以说是前端人必须学会的程序之一,下面这篇文章主要给大家介绍了关于手把手教会你用Javascript实现放大镜效果的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-03-03

最新评论