构造函数可以返回哪些值以避免返回?Javascript中的返回语句返回值的确切情况是什么?this当使用new关键词?例子:function Foo () {
return something;}var foo = new Foo ();如果我没弄错,如果something是一个非函数的原语,this会被归还。不然的话something会被归还。这是对的吗?IOW,什么值能something采取引起(new Foo () instanceof Foo) === false?
3 回答
沧海一幻觉
TA贡献1824条经验 获得超5个赞
[[Construct]]
new
13.2.2
[[Construct]]
当 [[Construct]]
属性的 Function
对象 F
调用时,将采取以下步骤:
创建一个新的本机ECMAScript对象。 设置 .的性质
Result(1)
到
"Object"
.的原型属性的值。
F
.如果
Result(3)
是一个对象,将 .的性质
Result(1)
到
Result(3)
.如果
Result(3)
不是对象,请将 .的性质
Result(1)
原作
Object
中描述的原型对象 调用 .的性质
F
,提供
Result(1)
就像
this
值,并提供传递给
[[Construct]]
作为参数值。 如果
Type(Result(6))
是
Object
然后再回来
Result(6)
.回归
Result(1)
.
查看步骤7和步骤8,只有在 Result(6)
(从 F
构造函数)是 不一个物体。
慕婉清6462132
TA贡献1804条经验 获得超2个赞
new Number(5)
5
this
添加回答
举报
0/150
提交
取消