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

有效的javascript对象属性名称

钱季
2023-03-14
问题内容

我正在尝试找出对javascript对象的属性名称有效的内容。例如

var b = {}
b['-^colour'] = "blue";     // Works fine in Firefox, Chrome, Safari
b['colour'] = "green";      // Ditto
alert(b['-^colour']);       // Ditto
alert(b.colour);            // Ditto
for(prop in b) alert(prop); // Ditto
//alert(b.-^colour);     // Fails (expected)
  1. b [‘-^ colour’]无效,但在所有浏览器中都存在古怪的现象,我不应该相信它会继续向前发展

  2. b [‘-^ colour’]是完全有效的,但它的形式只能以这种方式访问​​-(受支持,所以对象也许可以用作地图?)

  3. 还有别的

顺便说一句,在javascript中,全局变量可能在顶层声明

var abc = 0;

但也可以(据我所知)与

window['abc'] = 0;

以下适用于所有上述浏览器

window['@£$%'] = "bling!";
alert(window['@£$%']);

这有效吗?似乎与变量命名规则相矛盾-还是我不在那里声明变量?变量和对象属性名称之间有什么区别?


问题答案:

是的,对象可以用作地图,任何字符串都可以是属性名称。您已经发现,某些属性 只能 使用方括号语法来访问。

window['abc']

正在访问属性。它不是变量,即使它引用的值与全局值相同:

abc


 类似资料:
  • 问题内容: 我已经寻找了一段时间,想要一种对Javascript对象进行排序的方法,如下所示: 并按名称的字母顺序排序以获得: 我找不到任何可以做到这一点的代码。谁能给我些帮助吗? 问题答案: 根据定义,键在对象中的顺序是未定义的 ,因此您可能无法以适应未来发展的方式进行操作。相反,您应该考虑在实际向用户显示对象时对这些键进行排序。无论它在内部使用什么排序顺序都没有关系。 按照惯例,大多数浏览器将

  • 我使用的是类似于: 这给了我这样的输出: 我想访问键[0]中的字符串值。当我尝试做以下事情时: 我得到这个错误: 分析错误:语法错误,意外的T_DNUMBER 这两个数字/整数似乎有问题。

  • 本文向大家介绍JavaScript变量Dom对象的所有属性,包括了JavaScript变量Dom对象的所有属性的使用技巧和注意事项,需要的朋友参考一下 DOM对象的HTML:   <button>Disable State</buttom> 1,遍历DOM对象所具有的属性(全部,不管是否在HTML tag中是否设置) 结果: 2.遍历DOM对象在HTML中设置过的属性:   每一个attribut

  • 问题内容: 我想知道JavaScript中是否有任何方法可以像这样遍历对象。 但是这样获取每个属性的名称。 我似乎在Google上找不到类似的东西。他们说与他们一起传递变量的名称,但这不是我要实现的选择。 谢谢你的尽心帮助。 问题答案: 使用Object.keys(): 给您一个属于输入对象的属性名称数组。

  • 问题内容: 我有带有“ operation.date”,“ operation.name”等列的mysql表。用我获取该表数据作为对象后,得到此信息(行的print_r): 我怎么存取权限,并和所有其他古怪的命名对象的属性? 问题答案: 在您的SQL查询中指定别名,例如 或访问这些属性, 或将对象强制转换为数组,如下所示:。

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