3.建構函式用new建立例項的過程
1) 建立乙個空物件
2) 將this 指向例項, 將函式的作用域賦給空物件
3) 建立新物件
4) 返回新物件
使用建構函式不僅**更加簡潔,更重要的是能夠識別物件的型別了
4.建構函式的例項的關係
1)例項的constructor = 建構函式 console.log(p1.constructor = person) true
costructor 屬性最初就是用來標識物件的型別的,
2) 用instanceof判斷物件的型別更加嚴謹, console.log(p1 instanceof person) true
建構函式的問題
每建立乙個例項, 都生成新的一模一樣方法,造成記憶體的極大浪費
console.log(p1.sayhello == p2.sayhello) false
2. 解決方法:這樣我們想到把方法放到函式的外面,這樣 p1.sayhello = p2.sayhello
function sayhello = function()
3. 初步解決方法:將方法封裝在乙個物件裡面,避免全域性命名空間衝突的問題
var fns =
JS高階 原型 建構函式的繼承
定義父類的person的建構函式 function person name 定義父類person的原型 person.prototype.sayname function 定義子類建構函式student function student name,age 子類繼承父類原型 子類student原型繼承...
js 高階 原型物件
任何物件都有原型物件,也就是prototype屬性,任何原型物件也是乙個物件,該物件就有 proto 屬性,這樣一層一層往上找,就形成了一條鏈,我們稱此為原型鏈 1.建構函式的prototype屬性指向了建構函式原型物件 2.例項物件是由建構函式建立的,例項物件的 proto 屬性指向了建構函式的原...
建構函式,原型物件,
概念 如果函式中的邏輯生成乙個物件的並將其返回,我們就將其稱之為建構函式 回顧,普通函式,如下圖 一 建構函式嚴格意義就是用來生物件的 示例 用普通函式模擬的建構函式 二 建構函式是必須通過new這個關鍵字呼叫的 要改變this的指向 也稱為 例項化乙個物件 執行這個函式,生成乙個物件 它的作用就是...