ECMAScript(ECMA。)中`reference'的`base value`是什么?

我一直在试着理解如何在javascript中设置this值,并发现ECMAScript语言规范非常有用。 我正在阅读第8.7节reference specification type ,发现ECMAScript中的引用由3个分量, base valuereferenced namestrict reference flag以了解第11.2.3节。

我可以假设他们的referenced namereferenced namestrict reference flag是什么,但我不明白base value是什么。 该文件说base valueundefinedStringBooleanNumberObject ,但它没有说明它是如何设置的以及它是什么。 我猜测它与上下文对象相似。 谁能解释一下?


是的,基准值是引用名称所在的上下文。

对于一个对象属性,这将是对象(参见§8.12对象内部方法setter / getter操作)。 对于变量,这将是可变环境(§10.2.1环境记录)。 对于一个无法解析的引用(抛出引用错误的东西除了提供给typeof ),这将是undefined

它没有说明它是如何设置的

Reference值仅由很少的操作构成:

  • 标识符引用表达式,用于解析当前词汇环境中的标识符(或其父代之一)
  • 属性访问表达式,即.…[…]运营商
  • 允许对主机函数的函数调用返回它们,但不存在。
  • 链接地址: http://www.djcxy.com/p/25349.html

    上一篇: What is `base value` of `reference` in ECMAScript(ECMA

    下一篇: Android TV not starting correct activity