javascript - ECMAScript(ECMA-262 5.1)中的 `base value` 的 `reference` 是什么?

标签 javascript ecmascript-5

我一直在尝试理解 this 值是如何在 javascript 中设置的,并且发现 ECMAScript 语言规范非常有用。我在读section 8.7 reference specification type 发现ECMAScript中的引用由3个部分组成,base value, referenced name, strict reference flag了解section 11.2.3 .

我可以根据他们的名字假设什么是referenced namestrict reference flag,但我不明白什么是base value .文件说 base valueundefined, String, Boolean, NumberObject,但它没有说明它是如何设置的以及它是什么。我猜它类似于上下文对象。谁能解释一下?

最佳答案

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

对于对象属性,这将是对象(有关 setter/getter 操作,请参阅 §8.12 Object internal methods)。对于变量,这将是变量环境 ( §10.2.1 Environment records )。对于不可解析的引用(抛出引用错误 except when supplied to typeof 的东西),这将是 undefined

it does not say how it is set

引用 值仅由极少数操作构成:

关于javascript - ECMAScript(ECMA-262 5.1)中的 `base value` 的 `reference` 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29353177/

相关文章:

javascript - 当 Ajax 使用长轮询时,如何更新 AngularJS 中的模型?

javascript - AngularJS 选择框在模型更改时不更新

javascript - Recurly.js v3 和插件

javascript - 我可以使用 "queue"XMLHttpRequest 函数吗?

具有混合值类型的 JavaScript 数组排序 - 寻找合适的比较函数

javascript - 文本长度限制在我的 instafeed 模板中不起作用

javascript - 扩展和删除工具栏按钮

javascript - 在 ES5 中创建自定义元素 v1,而不是 ES6

javascript - 在父组件中使用组件的多个实例

javascript - 如何停止 Javascript forEach?