一、閉包
閉包的概念:就是能夠讀取其他函式內部變數的函式
閉包的用處:1.讀取函式內部的變數2.讓這些變數的值始終儲存在記憶體中
閉包的缺點:1.造成記憶體的洩露。
二、繼承
1.原型鏈繼承2.借用建構函式繼承3.組合繼承4.原形式繼承5.寄生式繼承6.寄生組合式繼承
借用建構函式
思想:在子型別建構函式的內部呼叫超型別建構函式
如:function supertype(name){
this.name=name;
function subtype() {
spertype.call(this,"zhanghuan") //核心
this.age=29
var instance=new subtype();
alert(instance.name) //"zhanghuan"
alert(instance.age) //29
組合繼承
思路:使用原型鏈實現對原型屬性和方法的繼承,而通過借用建構函式來實現對例項屬性的繼承
如:function supertype (name){
this.name=name;
this.colors=["red","blue","green"]
supertype.prototype.sayname=function (){
alert(this.name)
function subtype(name,age){
supertype.call(this,name); //核心
this.age=age;
subtype.prototype=new supertype(); //核心
subtype.prototype.constructor=subtype;
subtype.prototype.sayage=function () {
alter(this.age)
var instance1=new subtype("zhanghuan",23);
instance1.colors.push("black");
alert(instance1.colors) //"red","blue","green","black"
instance1.sayname(); //zhanghuan
instance1.sayage(); 23
var instance2=new subtype("greg",29)
alert(instance2.colors) //"red" ,"blue","green"
instance2.sayname() //greg
instance2.sayage() 29
繼承閉包 面試重點
牢記 區域性變數執行完就銷毀,全域性變數等頁面關閉它才銷毀 開闢乙個儲存空間 把函式體內的 一模一樣的放在這個空間內 不解析變數 把儲存空間的位址給函式名 按照函式名的位址找到函式的儲存空間 形參賦值 預解析將函式儲存空間中的 拿出來執行 才解析變數 按照函式名的位址找到函式的儲存空間 形參賦值 預...
js相關語法基礎 6 閉包
高階函式除了可以接受函式作為引數以外,還可以把函式作為結果值返回。來實現乙個對array的求和。傳統方法。function sum arr console.log sum 1,2,3,4 不返回求和的結果,而返回求和的函式。function lazy sum arr return sum var f...
php面試 相關問題
快取相關 如何提高快取命中率?如何對快取進行顆粒化?伺服器相關 1 nginx負載均衡有哪些?如果其中一台伺服器掛掉,報警機制如何實現?2 不優化前提下,apache一般最大連線數為?nginx一般最大連線數為?mysql 每秒insert select update delete?3 nginx設...