对象无length属性时IE6/IE7中无法将其转换成伪数组(ArrayLike)
时间:2024-04-17 09:49:44
有时需要将数组转成伪数组(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]);
}
标签:length
0
投稿
猜你喜欢
Python中plt.imshow(image)无法显示图片的解决
2022-01-12 15:33:04
PHP实现打包下载文件的方法示例
2024-05-11 09:45:54
Python+matplotlib实现绘制等高线图示例详解
2022-09-18 05:44:11
python如何制作英文字典
2021-12-01 10:30:00
使用Template格式化Python字符串的方法
2021-08-07 14:42:35
动态刷新 dorado树的js代码
2024-04-18 09:34:21
浅析mysql.data.dll驱动各版本介绍
2024-01-24 04:26:30
PyCharm2018 安装及破解方法实现步骤
2022-02-02 10:46:15
Golang strings包常用字符串操作函数
2024-02-16 22:23:14
SQLServer 数据导入导出的几种方法小结
2024-01-25 02:13:05
echarts报错Cannot read properties of null (reading ‘getAttribute‘)的解决
2024-04-17 10:04:06
python遍历序列enumerate函数浅析
2022-10-31 01:34:21
Django实现内容缓存实例方法
2021-04-19 20:47:41
python3.6使用pymysql连接Mysql数据库
2024-01-27 13:00:48
基于mysql实现group by取各分组最新一条数据
2024-01-13 05:48:18
python中@property的作用和getter setter的解释
2022-08-14 21:12:39
详解Laravel模型事件和模型事件在Trait中的使用
2023-06-17 17:19:28
opencv中颜色空间转换函数cv2.cvtColor()使用
2023-03-10 18:22:38
详解oracle mysql 中的“不等于“ <> != ^= is not
2024-01-25 03:35:08
django框架使用方法详解
2021-07-07 18:12:00