当前位置: 首页 > 面试题库 >

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

宣望
2023-03-14
问题内容

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

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

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


问题答案:

编辑

查看注释,您将看到对于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_$]*


 类似资料:
  • 问题内容: 我正在使用有人编写的PHP类来与BaseCamp API交互。 我正在执行的特定呼叫是在待办事项列表中检索项目,效果很好。 我的问题是,我不确定如何仅访问返回的对象的属性。这是返回对象的var_dump: 如何访问此对象的一部分? 问题答案: 因此,$ object-> {‘todo-list’}是子对象。如果可以这样设置,那么您也可以以相同的方式阅读它。 如果您想将其转换为数组,可以

  • 问题内容: 我正在寻找“添加”多个JavaScript对象(关联数组)的最佳方法。 例如,给定: 什么是最好的计算方式: 问题答案: 引入ECMAscript 6是为了用Javascript本身实现此目的。 所述 Object.assign() 方法被用于所有可枚举自己的属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。 在许多现代浏览器中都受支持,但并非所有浏览器都支持。使用Babel

  • 问题内容: 我有一个 DOM元素: 有两个ID 和的字段..。我可以访问,没有任何问题,但是由于名称中包含句点,导致语法错误而失败。 如何访问这些属性? 问题答案: 使用方括号表示法: 这适用于任何对象,对于非标识符安全的字符以及访问你可能提前都不知道的键特别有用。

  • 问题内容: 假设我们只有 我们如何将属性设置为某个值(例如“ hello world”)?所以我想实现这一点,尽管我们只有字符串中的属性名称: 问题答案:

  • 问题内容: 我有一个表示包含空格的URL的字符串,并希望将其转换为URI对象。如果我只是尝试通过创建它 它给了我 其中index 是URL字符串中第一个空格的位置。 如何解析为对象? 问题答案: 实际上,您应该使用URI编码 “无效”字符。由于该字符串实际上包含完整的URL,因此很难对其进行URI编码。您不知道应该考虑哪些斜杠,哪些不是。您无法事先预测到这一点。确实需要在更高层次上解决该问题。那是

  • 问题内容: 说我这样创建一个对象: 检索属性名称列表的最佳方法是什么?即我想以一些变量“键”结束: 问题答案: 在现代浏览器(IE9 +,FF4 +,Chrome5 +,Opera12 +,Safari5+)中,您可以使用内置的Object.keys方法: 上面有完整的polyfill,但简化的版本是: 或者替换为,以允许您调用任何对象。扩展原型会产生一些副作用,我不建议您这样做。