js new建構函式中的return

2021-09-17 21:13:05 字數 965 閱讀 2783

預設情況下,沒有return的函式的返回值為undefined(即沒有定義返回值),如果定義了return,則返回指定物件。

但是建構函式比較t特殊,new建構函式在沒有return的情況下預設返回新建立的物件。在有return的情況下,需要分為兩個情況考慮:

vara=

functions(

)var b =

newa()

;console.

log(a)

;//

vara=

functions(

)var b =

newa()

; console.

log(b)

;//s()

直觀的例子:

vara=

function

user

( name, age)

// return ; // 返回 新建的

// return function(){}; // 返回 新建的 function,拋棄 this

// return new boolean( false); // 返回 新建的 boolean,拋棄 this

// return new string( 'hello world'); // 返回 新建的 string,拋棄 this

// return new number( 32); // 返回新的 number,拋棄 this

}var b=

newa

("哈哈",18

) console.

log(b)

;

主要是js——new與return裡的內容,自己做了一點整理,以便以後自己回顧。

C 中構造函式呼叫建構函式

include include using namespace std struct cls cls int main 列印結果是不定的,不一定為0 奇怪的地方在於建構函式中呼叫了自己的另乙個建構函式 我們知道,當定義乙個物件時,會按順序做2件事情 1 分配好記憶體 非靜態資料成員是未初始化的 2 ...

C 中構造函式呼叫建構函式

include stdlib.h include iostream using namespace std struct clscls int main 列印結果是不定的,不一定為0 奇怪的地方在於建構函式中呼叫了自己的另乙個建構函式 我們知道,當定義乙個物件時,會按順序做2件事情 1 分配好記憶體...

c 中構造函式呼叫建構函式

c 中建構函式完成的工作分兩步 1 分配空間 2 初始化空間 構造函式呼叫建構函式。class a a int a private int a 這樣會導致,a 中先分配了空間,然後呼叫a 0 又建立了乙個臨時物件,然後初始化為0,而原物件則沒有初始化。這種問題在類中有指標需要分配空間時會導致災難。從...