构造函数可以返回哪些值以避免返回?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)5this
添加回答
举报
0/150
提交
取消
