收到一只叮咚
2019-07-09 13:20:00
構(gòu)造函數(shù)可以返回哪些值以避免返回?Javascript中的返回語句返回值的確切情況是什么?this當(dāng)使用new關(guān)鍵詞?例子:function Foo () {
return something;}var foo = new Foo ();如果我沒弄錯(cuò),如果something是一個(gè)非函數(shù)的原語,this會被歸還。不然的話something會被歸還。這是對的嗎?IOW,什么值能something采取引起(new Foo () instanceof Foo) === false?
3 回答

滄海一幻覺
TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超5個(gè)贊
[[Construct]]
new
13.2.2
[[Construct]]
當(dāng) [[Construct]]
屬性的 Function
對象 F
調(diào)用時(shí),將采取以下步驟:
創(chuàng)建一個(gè)新的本機(jī)ECMAScript對象。 設(shè)置 .的性質(zhì)
Result(1)
到
"Object"
.的原型屬性的值。
F
.如果
Result(3)
是一個(gè)對象,將 .的性質(zhì)
Result(1)
到
Result(3)
.如果
Result(3)
不是對象,請將 .的性質(zhì)
Result(1)
原作
Object
中描述的原型對象 調(diào)用 .的性質(zhì)
F
,提供
Result(1)
就像
this
值,并提供傳遞給
[[Construct]]
作為參數(shù)值。 如果
Type(Result(6))
是
Object
然后再回來
Result(6)
.回歸
Result(1)
.
查看步驟7和步驟8,只有在 Result(6)
(從 F
構(gòu)造函數(shù))是 不一個(gè)物體。

慕婉清6462132
TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊
new Number(5)
5
this
添加回答
舉報(bào)
0/150
提交
取消