javascript基本知識

2021-09-02 18:46:08 字數 2209 閱讀 2136

多型:

指同一操作操作在不同物件上,可以產生不用的解釋和不同的執行結果。

例:

var makesound = function (animal)else if( animal instanceof chilken )

}var duck = function(){};

var chicken = function(){};

makesound(new duck()); //嘎嘎嘎

makesound(new chicken()); //咯咯咯

理解:

同乙個發出叫聲命令,在鴨子和小雞這兩種動物身上,產生兩種不同的結果,一種發出』嘎嘎嘎『,一種』咯咯咯『兩種不同的叫聲。

封裝:

封裝就是將資訊隱藏,狹義的封裝指封裝資料和實現,廣義的封裝還包括封裝型別和變化。

1、封裝資料:通過函式的作用域來實現資料的不同訪問許可權。

var myobject = (function()

}})()

console.log( myobject.name ); //undefined

console.log( myobject.getname() ); //liyang

2、封裝實現:是使物件內部變化對其他物件不可見,通過對外暴露api介面來實現通訊,例如add函式等

var add = function(x,y)

console.log( add(1,2) );

3、封裝型別:通過抽象類和介面來進行的,把物件的真正型別隱藏在抽象類或介面之後,客戶更關心物件的行為。

var makesound = function(animal)

}var duck = function(){};

duck.prototype.sound = function()

var chicken = function(){};

chicken.prototype.sound = function()

makesound(new duck()); //嘎嘎嘎

makesound(new chicken()); //咯咯咯

4、封裝變化:指把系統中穩定不變的部分和容易變化的部分隔離開來,在系統演變過程中,我們只需要替換那些容易變化的部分。同上例

繼承:

指獲取已有物件的屬性和方法的一種方式

var person = function(name)

var classname = function(target)

person.prototype = new classname(); //乙個物件的原型等於乙個物件的例項,此時person物件就繼承了classname物件的屬性和方法

var p1 = new person('zhangsan');

console.log(p1.name); //zhangsan

console.log(p1.classnum); //2

var obj = 

var a = function()

a.call(obj,1,2);

//執行過程:函式a的this被改變成了obj,並傳入了兩個引數1和2,與此同時呼叫了函式a,其中this.name即為obj.name,arguments即為引數1和2

閉包指通過函式內部函式訪該函式的內部變數的詞法環境

var a = (function()

})()

a(); //1

a(); //2

閉包的作用:

1、利用閉包可以把全域性變數封裝為「私有變數」;

2、利用閉包可以延續區域性變數的壽命(函式的區域性變數是在函式呼叫結束後被銷毀的),這樣就可以防止在函式呼叫結束後銷毀

閉包的**

var a = (function()

})()

a(); //1

a(); //2

a = null //**閉包

a(); //uncaught typeerror:a is not a function

javascript基本知識整理三

全域性變數 定義在外邊的變數 若沒有用var宣告,則當這行賦值執行,則就將他認為是全域性變數。區域性變數 在函式內部裡宣告的變數,只能在該函式裡有效。bom物件 window物件的方法 prompt alert confirm close open settimeout setinterval cl...

javascript基本知識整理四

dom操作 使用getelement系列方法實現dom元素的查詢和定位 使用core dom標準操作實現節點的增刪該查 dom?通過dom可以動態改變文件內容 解析文件並生成dom樹 通過標準介面 程式語言改變文件內容 訪問指定節點的方法 getelementbyid getelementsbyna...

Oracle 基本知識

乙個表空間只能屬於乙個資料庫 每個資料庫最少有乙個控制檔案 建議3個,分別放在不同的磁碟上 每個資料庫最少有乙個表空間 system表空間 建立system表空間的目的是盡量將目的相同的表存放在一起,以提高使用效率,只應存放資料字典 每個資料庫最少有兩個聯機日誌組,每組最少乙個聯機日誌檔案 乙個資料...