js里如何动态的使用变量?
我的代码如下:
var position = getCookie('position');if (getCookie('sid') == data.data.player3[0].sid){
alert(1);
}
上面代码是没有问题的,弹出内容为 1 的警告框,但是我的需求是想将那个 3 用 position 变量替换,我改成下面这样的:
var position = getCookie('position');if (getCookie('sid') == data.data.player + position[0].sid){
alert(1);
}
代码就一直报下面这个错误,说明下那个 position 的值确实是等于 3 的。
Uncaught TypeError: Cannot read property 'sid' of undefined
所以请大神指点一下,我这里该怎么写,谢谢。
回答:
JS 里面点号可以做下标,方括号也是。
只不过方括号里面是表达式,而点号后面就是单纯的键名,键名是写死的代码,不能参与任何运算。
并且点号的优先级比所有运算符都高,等于你写的是:
(data.data.player) + (position[0].sid)
正确的写法是用方括号,在里面写表达式计算出所需键名字符串:
var position = getCookie('position');if (getCookie('sid') == data.data[`player${position}`][0].sid){
alert(1);
}
以上是 js里如何动态的使用变量? 的全部内容, 来源链接: utcz.com/p/935902.html