This topic created in 1271 days ago, the information mentioned may be changed or developed.
var maps = [];
如果写
maps[0].img = new Image();
会报错 Uncaught TypeError: Cannot set properties of undefined
如果是
maps[0] = new Image();
就不会报错,但这个不是我要的,请问要怎么做才能让第一个方案不报错?
 |
|
1
eason1874 Nov 26, 2022
maps[0] = {img: new Image()}
|
 |
|
2
cpstar Nov 26, 2022
maps[0]=undefined 所以你猜 undefined 的 img 会是什么?
|
 |
|
3
westoy Nov 26, 2022
用 Proxy 代理一下
|
 |
|
4
imicksoft Nov 26, 2022
你没有给数组填充东西,就想操作数组的第一个元素?
|
 |
|
5
imicksoft Nov 26, 2022
var maps = [];//创建了个数组 maps[0].img = new Image();//给数组的第一个元素的添加一个 img ,但此时 maps 没有数据啊 maps[0] = new Image();//给数据的第一个元素赋值 image 对象,这个是向数组里添加元素
你操作失败,相当你想开旅馆,刚注册了空公司,还没有租房子,就想改房子的装潢,办不到啊,无对象啊。
|
 |
|
6
gauzung Nov 26, 2022
maps[0]是 undefined ,不能给 undefined 设置属性,即「 Cannot set properties of undefined 」
改正: maps[0] = {}; maps[0].img = new Image();
|
 |
|
8
qiaobeier Nov 26, 2022
你这是逻辑问题,不是代码问题。任何语言都不可能对不存在的对象赋值。
|