一尘不染

如何引用带有连字符的javascript对象属性?

javascript

使用此脚本制作所有继承的etc样式的样式对象。

var style = css($(this));
alert (style.width);
alert (style.text-align);

使用以下命令,第一个警报将正常工作,但是第二个警报则无法正常工作..它将解释-为我假设的负号。.调试器说“未捕获的参考错误”。但是,我不能在其周围加上引号,因为它不是字符串。那么如何使用此对象属性?


阅读 301

收藏
2020-04-25

共1个答案

一尘不染

编辑

查看注释,您将看到对于CSS属性,键符号与许多属性不兼容。因此,使用驼峰式案例密钥表示法是当前的方式

obj.style-attr // would become

obj["styleAttr"]

使用键符号而不是点

style["text-align"]

js中的所有数组都是对象,并且所有对象都是关联数组,这意味着您可以引用对象中的位置,就像引用数组中的键一样。

arr[0]

或对象

obj["method"] == obj.method

这样访问属性时要记住的几件事

  1. 除非您使用计数器或使用动态方法名称进行操作,否则将使用字符串进行评估。

这意味着obj [method]会给您一个未定义的错误,而obj [“ method”]不会给您

  1. 如果使用的是js变量中不允许的字符,则必须使用此表示法。

这个正则表达式几乎可以总结一下

[a-zA-Z_$][0-9a-zA-Z_$]*
2020-04-25