我一直在努力了解如何在javascript中设置this
值,并发现ECMAScript语言规范非常有用。我正在阅读section 8.7 reference specification type
,并发现ECMAScript中的引用由3个组件base value
,referenced name
,strict reference flag
组成,以便了解section 11.2.3。
我可以假设他们的名字是referenced name
和strict reference flag
,但我不明白base value
是什么。该文档称base value
为undefined
,String
,Boolean
,Number
和Object
,但未说明如何设置它是什么。我猜这是类似于上下文对象的东西。谁能解释一下?
答案 0 :(得分:6)
是的,基础值是引用名称所在的上下文。
对于对象属性,这将是对象(有关setter / getter操作,请参阅§8.12 Object internal methods)。对于变量,这将是变量环境(§10.2.1 Environment records)。对于无法解析的引用(抛出引用错误except when supplied to typeof
的内容),这将是undefined
。
它没有说明如何设置
Reference
值仅由极少数操作构成:
.…
和[…]
运营商