預設情況下,沒有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,而原物件則沒有初始化。這種問題在類中有指標需要分配空間時會導致災難。從...