Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ECMAScript(ECMA-262 5.1)中“引用”的“基值”是什么?_Javascript_Ecmascript 5 - Fatal编程技术网

Javascript ECMAScript(ECMA-262 5.1)中“引用”的“基值”是什么?

Javascript ECMAScript(ECMA-262 5.1)中“引用”的“基值”是什么?,javascript,ecmascript-5,Javascript,Ecmascript 5,我一直在试图理解javascript中如何设置这个值,并发现ECMAScript语言规范非常有用。我正在阅读参考规范类型,发现ECMAScript中的参考由3个组件组成,基本值,参考名称,严格参考标志,以便于理解 我可以从它们的名称中假定什么是引用名称和严格引用标志,但我不明白基值是什么。文档中说基值要么是未定义的,字符串,布尔值,数字和对象,但没有说明如何设置它以及它是什么。我猜它与上下文对象类似。有人能解释一下吗?是的,基本值是引用名称所在的上下文 对于对象属性,这将是对象(有关setter

我一直在试图理解javascript中如何设置
这个
值,并发现ECMAScript语言规范非常有用。我正在阅读
参考规范类型
,发现ECMAScript中的参考由3个组件组成,
基本值
参考名称
严格参考标志
,以便于理解

我可以从它们的名称中假定什么是
引用名称
严格引用标志
,但我不明白
基值是什么。文档中说
基值
要么是
未定义的
字符串
布尔值
数字
对象
,但没有说明如何设置它以及它是什么。我猜它与上下文对象类似。有人能解释一下吗?

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

对于对象属性,这将是对象(有关setter/getter操作,请参阅)。对于变量,这将是变量环境()。对于不可解析的引用(引发引用错误的东西),这将是
未定义的

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

Reference
值仅通过很少的操作构建:

  • ,指(或其父母之一)
  • ,即
    […]
    运算符
  • 允许对宿主函数的函数调用返回它们

就像@shashank指出的那样,
这个
继承了它引用的任何对象的
类型。我相信JS中的所有变量都是
原型对象
@Shashank:this
的值没有被转换,它不是一个特殊的对象或类型
是特殊的,因为该值直接从执行上下文引用,而不是从相应的环境记录引用。但是,该值与任何其他值一样。这个问题实际上与
这个
没有任何关系。谢谢你的回答。我开始有点明白了。我还读过,它说如果它是
null
未定义的
这个
值被设置为全局对象。还有一个问题,
base value
是否为
null
?请注意,
thisBinding
与参考值无关。
thisArg
只是调用者提供的一个值,在方法调用的情况下决不使用
null
,但您也可以使用。否,引用永远不会以
null
作为基值来构造
null.x
undefined.x
,标识符引用仅显式传递
undefined
。当访问基元上的属性时,基值a
布尔值、
数字或
字符串是什么时候?@Taurusvalue@Taurus不,只有在对引用求值时才会将其装箱(
GetValue
),而不是在构造引用时。不,这与引用值与基本值无关,请注意,在调用之前,所有引用都会根据其值进行求值。