js里如何动态的使用变量?

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

回到顶部