面試總結 閉包相關問題與繼承相關的問題

2021-08-28 16:07:40 字數 1396 閱讀 4705

一、閉包

閉包的概念:就是能夠讀取其他函式內部變數的函式

閉包的用處: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設...