严格模式规则之一(Annex C http://ecma-international.org/ecma-262/5.1/#sec-C) 状态:
When a delete
运算符出现在严格模式代码中,语法错误被抛出,如果它一元表达式是对变量、函数参数或函数名称的直接引用。
所以在这段代码中:
delete x
x
是一个参考。 (我知道这个是因为“评估标识符的结果始终是引用类型的值” http://ecma-international.org/ecma-262/5.1/#sec-11.1.2)。但这是一个direct参考?
还有其他类型的参考吗?间接引用? (如果不是,那么使用“直接”这个词有什么意义呢?)
是的,有不同种类的References
(EcmaScript §8.7 http://ecma-international.org/ecma-262/5.1/#sec-8.7)。会员经营者(EcmaScript §11.2.1 http://ecma-international.org/ecma-262/5.1/#sec-11.2.1)例如,确实会产生以下参考文献:基值是的值baseReference
,我称之为“非直接”。 “直接引用”将是标识符引用(EcmaScript §10.2.2.1 http://ecma-international.org/ecma-262/5.1/#sec-10.2.2.1,其中基值是环境记录。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)