閉包和繼承

2022-06-21 18:18:11 字數 1332 閱讀 5389

function

fn()

}var fun =fn()

fun()

fun()

1.延長的變數的宣告週期

2.保護了私有的變數

3.函式的作用域一直沒有被銷毀

缺點:容易造成記憶體的溢位

function

father()

function

son()

var f = new

father;

son.prototype =f

var s = new

son()

console.log(f,s);

function

father(name,age)

function

son()

//在繼承的時候,不知道傳什麼引數比較好

son.prototype = new father('張三',20)

//沒辦法給父物件傳參

var s = new son('lisi',21)

console.log(s);

function

father(name,age)

father.prototype.eat = function

()//

借用函式繼承/上下文呼叫模式繼承

function

son(name,age)

var s = new son('李四',21)

console.log(s);

s.eat()

//借用函式繼承的弊端 - 沒辦法繼承父親原型上的方法

//

兩種繼承方式都用一遍 - 混合繼承

function

father(name,age)

father.prototype.eat = function

()function

son(name,age)

son.prototype = new

father()

var s = new son('李四',21)

console.log(s);

s.eat()

類:抽象的物件 - 建構函式==類

物件:例項化的類

語法:

class 類名

class person

//如果要給物件新增方法 - 在類中繼續定義方法

eat()

}var p = new person('張三',12)

console.log(p);

閉包和繼承

開闢乙個儲存空間把函式體內的 一模一樣的放在這個空間內 不解析變數 把儲存空間的位址給函式名 按照函式名的位址找到函式的儲存空間形參賦值 預解析將函式儲存空間中的 拿出來執行 才解析變數 按照函式名的位址找到函式的儲存空間 形參賦值 預解析在記憶體中開闢乙個執行空間 將函式儲存空間中的 拿出來在剛剛...

JS 繼承和閉包

一 原型鏈進行繼承 1.js的繼承主要依靠原型鏈來實現,使函式的原型指向另一函式的例項,依次來完成繼承,其實質就是重寫原型物件。繼承後屬性和方法的依照原型鏈進行搜尋,1 先在例項中搜尋,2 搜尋subtype.prototype,3 搜尋supertype.prototype,直到找到該方法或者該屬...

繼承 閉包 cookie和session

一 物件 prototype屬性 繼承 1 建立了乙個新的物件之後,就會建立乙個prototype屬性 2 這個屬性指向函式的原型物件 3 物件會自動獲得乙個constructor屬性 4 constructor 5 原型模式 每個函式都有乙個prototype屬性 6 原型鏈 利用原型讓乙個引用型...