建構函式有返回值

2022-04-02 10:47:43 字數 856 閱讀 8368

function

f1() 

console.log(new f1()); //  返回例項, 委託原型

console.log(new f1().name); // f1

console.log(f1().name); // uncaught typeerror: cannot read property 'name' of undefined

console.log(f1()); // undefined

例子二 函式返回引用型別值

function

f2() ;

}console.log(new f2()); // 引用型別值, 返回該值{} 

console.log(new f2().name); // undefined

// 這種情況,使用new呼叫就與呼叫正常函式一致

console.log(f2()); // {} 常規函式呼叫

console.log(f2().name); // undefined

例子三 函式返回基本型別值

function

f3() 

// 這種情況, 使用new呼叫函式就與呼叫標準建構函式一致

console.log(new f3()); // 基本型別值, 仍舊返回建構函式的例項 

console.log(new f3().name); // f3

console.log(f3()); // 5 常規函式呼叫

console.log(f3().name); // undefined

有返回值和無返回值函式

前面在定義函式時,有些函式使用了return語句,有些函式沒有使用return語句,使用return語句與不使用return語句有什麼區別呢?由前面的章節我們知道,若定義函式時沒有使用return語句,則預設返回乙個none。要返回乙個none,可以只寫乙個return,但要返回具體的數值,就需要在...

建構函式的返回值

今天看到同學們在討論乙個問題,這個問題是知乎上的乙個問題,問題描述如下 class a int main 這個問題很有意思的,a的建構函式裡面什麼都沒有,那麼返回乙個怎麼樣的物件呢,還是會出錯呢?顯然這個程式是能夠編譯通過的,但是我們該怎麼認識它呢,我們來看看反彙編吧。可以看到 在call呼叫建構函...

有返回值的函式呼叫

有返回值的sql儲存過程 sqlconnection sqlconn new sqlconnection conn sqlcommand cmd new sqlcommand cmd connection sqlconn cmd commandtext categoriestest3 cmd com...