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

我正在使用此脚本创建所有继承样式的样式对象,等等

var style=css($(this));
警告(样式、宽度);
警报(样式.文本对齐);

在以下情况下,第一个警报将正常工作,但第二个警报不正常。。。它将-解释为一个负号。调试器显示“未捕获引用错误”。不过,我不能在它周围加引号,因为它不是字符串。那么如何使用这个对象属性呢

看看评论。您将看到,对于CSS属性,键表示法与许多属性不兼容。因此,当前的方式是使用camel case键表示法:

obj.style-attr//将成为
obj[“styleAttr”]

使用键符号而不是点符号

样式[“文本对齐”]

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

arr[0]

还是这个对象

obj[“方法”]==obj.method

以这种方式访问属性时要记住以下几点:

  1. 除非您使用计数器或使用动态方法名执行某些操作,否则将使用字符串对它们进行计算

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

  2. 如果使用JavaScript变量中不允许的字符,则必须使用此符号

这个正则表达式大致概括如下:

[a-zA-Z$][0-9a-zA-Z$]*

发表评论