x.y和x['y']是否会导致主机对象的行为不同
Can x.y and x['y'] ever result in different behavior for Host Objects?
对于属性名为有效标识符的普通("Native")JavaScript对象,表达式x.y
和x["y"]
在语义上始终相等。
是否保证主机对象的等效性
[..an]对象,以完成ECMAScript的执行环境。
如果没有,是否有明显的例外?(在Cocoon、Crosswalk、IE等中?)
我特别感兴趣的是Window(window
)和其他DOM对象;以及预期行为是否存在任何已知的"异常",或者是否存在任何可能的环境。
它应该是相同的。根据Ecma-262第5.1版第11.2.1节(属性访问器),我们有:
属性通过名称访问,使用点表示法:
MemberExpression . IdentifierName CallExpression . IdentifierName
或括号符号:
MemberExpression [ Expression ] CallExpression [ Expression ]
点表示法通过以下语法转换来解释:
MemberExpression . IdentifierName
其行为与相同
MemberExpression [ <identifier-name-string> ]
以及类似的
CallExpression . IdentifierName
其行为与相同
CallExpression [ <identifier-name-string> ]
相关文章:
- 引用对象中的通用值
- jQuery匹配JSON对象的部分文本
- 节点导出返回一个空对象
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 全局变量和全局对象的属性之间有什么区别吗
- 比较从函数和生成的日期对象
- Javascript,访问一个主要对象模块模式中的每个对象
- Meteor应用程序无法运行-对象#<编译器>没有方法'主机'
- 对象未在本地主机中定义(Javascript),但在生产中未定义
- 在 JavaScript 中更改主机对象的原型函数
- x.y和x['y']是否会导致主机对象的行为不同
- JavaScript:主机对象也是本机对象的示例是什么
- 是否有一种与环境无关的方法来检测Javascript主机对象?
- 标准(HTML5和EcmaScript 5.1)对在浏览器中扩展主机对象有什么规定?
- 从本地主机读取node.js中的请求对象
- 是否有一个JavaScript程序可以列出所有预定义的浏览器主机对象
- Golang Otto JS-将主机对象暴露给JavaScript
- PHP JSON对象将在本地主机上呈现,而不是从远程服务器呈现