functionfn()
}var fun =fn()
fun()
fun()
1.延長的變數的宣告週期
2.保護了私有的變數
3.函式的作用域一直沒有被銷毀
缺點:容易造成記憶體的溢位
functionfather()
function
son()
var f = new
father;
son.prototype =f
var s = new
son()
console.log(f,s);
functionfather(name,age)
function
son()
//在繼承的時候,不知道傳什麼引數比較好
son.prototype = new father('張三',20)
//沒辦法給父物件傳參
var s = new son('lisi',21)
console.log(s);
functionfather(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 原型鏈 利用原型讓乙個引用型...