ECMAScript(ECMA-262 5.1)中“引用”的“基值”是什么
What is `base value` of `reference` in ECMAScript(ECMA-262 5.1)?
我一直在尝试了解如何在javascript中设置this
值,并发现ECMAScript语言规范非常有用。我阅读了第8.7节reference specification type
,发现ECMAScript中的参考由base value
、referenced name
、strict reference flag
三个组件组成,以理解第11.2.3节。
我可以从它们的名字中假设referenced name
和strict reference flag
是什么,但我不明白base value
是什么。文件中说base value
是undefined
、String
、Boolean
、Number
和Object
,但没有说明它是如何设置的以及它是什么。我猜它是类似于上下文对象的东西。有人能解释一下吗?
是的,基值是引用名称所在的上下文。
对于对象属性,这将是对象(参见§8.12 setter/getter操作的对象内部方法)。对于变量,这将是变量环境(§10.2.1环境记录)。对于无法解析的引用(除了提供给typeof
时会引发引用错误的内容),这将是undefined
。
它没有说明如何设置
Reference
值仅通过极少数操作构建:
- 标识符引用表达式,用于解析当前词汇环境(或其父环境之一)中的标识符
- 属性访问器表达式,即
.…
和[…]
运算符 - 允许对宿主函数的函数调用返回它们,但这并不存在
相关文章:
- ECMAScript(ECMA-262 5.1)中“引用”的“基值”是什么
- 引用href值并与其他值进行比较
- 如何获取引用内部值的指定对象(javascript)
- JS:如何更改图像引用结束值
- Array.map+try/catch传递了引用赋值延迟
- 是在JavaScript中通过引用或值传递的对象
- Javascript 对引用与值定义的变量的混淆
- Javascript:循环遍历数组以创建侦听器,通过引用和值调用发出问题
- 引用类型值和初始化
- Javascript对象字面量不允许引用现有值
- json数组对象引用赋值让我困惑
- Javascript对象内容通过引用赋值,这是可能的吗?
- 在javascript中创建对象时引用key值
- 如何不通过引用将值传递给同一对象属性
- Angular Service——返回私有值vs .引用私有值赋值
- 相当于JavaScript中的引用赋值
- JavaScript函数表达式分配给一个变量(通过引用或值传递?)
- 如何在JavaScript字符串replace(..)方法的第二个参数中引用搜索值
- Javascript函数是否默认通过引用或值返回对象
- ExtJs-如何引用存储值