使用new來呼叫函式,或者說發生構造函式呼叫時,會自動執行下面的操作:
建立(或說構造)乙個全新的物件。
這個新物件會被執行[[prototype]]連線。
這個新物件會繫結到函式呼叫的this。
如果函式沒有返回其他物件,那麼new表示式中的函式呼叫會自動返回這個新物件。
如下**:
functionfn()
; }
var a = new
fn;
console.log(a.user);
//undefined
functionfn() ;}
var a = new
fn;
console.log(a.user);
//undefined
再如:
functionfn()
var a = new
fn;
console.log(a.user);
//追夢子
functionfn()
var a = new
fn;
console.log(a.user);
//追夢子
總結:
使用new來呼叫函式,會發生什麼?
使用new來呼叫函式,或者說發生構造函式呼叫時,會自動執行下面的操作。建立 或者說構造 乙個全新的物件 這個新物件會被執行 prototype 連線 這個新物件會繫結到函式呼叫的this 如果函式沒有返回其他物件,那麼new表示式中的函式呼叫會自動返回這個新物件 注意第四點,通過兩個小栗子來鞏固一下...
繼承關係下new子類物件,會發生什麼?
假定class student extends person 那麼student s new student 這條語句new子類student物件,到底發生了什麼?由於要用到student類,系統會看一下 類頭 一看不得了,原來sthdent還有個父類person 父類person 類載入 在這一過...
C 方法返回值為引用時會發生什麼
在學習qt的過程中,看到有些內建的qt庫中存在一些返回引用的方法,例如 等等,所以有點好奇,返回值與返回引用之間有什麼區別呢?遂有了這篇文章。在寫驗證程式的時候又對c 的建構函式 拷貝建構函式 賦值建構函式有了新的理解,文章末會放出完整的測試 第一步,我們需要乙個類,給他起個名字,就叫a吧。clas...