javaScript 的核心 ECMAScript 描述了該語言的語法和基本對象;
DOM 描述了處理網頁內容的方法和接口;
BOM 描述了與瀏覽器進行交互的方法和接口。
,一個完整的 Javascript 實現是由以下 3 個不同部分組成的:
核心(ECMAScript)文檔對象模型(DOM)瀏覽器對象模型(BOM)工廠方法:============<script type="text/javascript">function createCar() { var oTempCar = new Object; oTempCar.color = "blue"; oTempCar.doors = 4; oTempCar.mpg = 25; oTempCar.showColor = function() { document.write(this.color); }; return oTempCar;}var oCar1 = createCar();var oCar2 = createCar();oCar1.showColor();document.write("<br />")oCar2.showColor();</script>
2.=========構造函數
<script type="text/javascript">function Car(sColor,iDoors,iMpg) { this.color = sColor; this.doors = iDoors; this.mpg = iMpg; this.showColor = function() { document.write(this.color); };}var oCar1 = new Car("red",4,23);var oCar2 = new Car("blue",3,25);oCar1.showColor();document.write("<br />")oCar2.showColor();</script></body>
3.構造函數和工廠方法的區別:
首先在構造函數內沒有創建對象,而是使用 this 關鍵字。使用 new 運算符構造函數時,在執行第一行代碼前先創建一個對象,只有用 this 才能訪問該對象。然后可以直接賦予 this 屬性,默認情況下是構造函數的返回值(不必明確使用 return 運算符)。
現在,用 new 運算符和類名 Car 創建對象,就更像 ECMAScript 中一般對象的創建方式了。
你也許會問,這種方式在管理函數方面是否存在于前一種方式相同的問題呢?是的。
就像工廠函數,構造函數會重復生成函數,為每個對象都創建獨立的函數版本。不過,與工廠函數相似,也可以用外部函數重寫構造函數,同樣地,這么做語義上無任何意義。這正是下面要講的原型方式的優勢所在。
4.原型的方法創建對象:
<script type="text/javascript">function Car() {}Car.PRototype.color = "blue";Car.prototype.doors = 4;Car.prototype.mpg = 25;Car.prototype.showColor = function() { document.write(this.color);};var oCar1 = new Car();var oCar2 = new Car();oCar1.showColor();document.write("<br />")oCar2.showColor();</script>
新聞熱點
疑難解答