JavaScript基礎知識點歸納_第1頁
JavaScript基礎知識點歸納_第2頁
JavaScript基礎知識點歸納_第3頁
JavaScript基礎知識點歸納_第4頁
JavaScript基礎知識點歸納_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

根底知識點歸納(推薦)定義在函數(shù)外的變量一定是全局變量;定義在函數(shù)內的變量,如果聲明了,那該變量就是局部變量,如果不聲明,則該變量就是全局變量。

1、全局變量及局部變量

="";

;

{

="";

();

();

}

();

();

2、兩種類型的

i〕持久性,會被存儲到客戶端的硬盤上。

〕回話:不會被存儲到客戶端的硬盤上,而是放在瀏覽器進程所處的內存當中,當瀏覽器關閉時則該回話就銷毀了。

3、在中,函數(shù)〔〕就是對象

4、在中,沒有方法〔函數(shù)〕重載的概念

5、對象

在中有一個對象,所有自定義的函數(shù)都是對象類型的。對象承受的所有參數(shù)都是字符串類型的,其中最后一個參數(shù)就是要執(zhí)行的函數(shù)體,而前面的參數(shù)則是函數(shù)真正需要承受的參數(shù)。

6、隱含的對象

在中,每個函數(shù)都有一個隱含的對象,表示給函數(shù)實際傳遞的參數(shù)。就表示實際傳遞的參數(shù)的個數(shù)。

7、函數(shù)名

每一個函數(shù)對象都有一個屬性,表示該函數(shù)期望承受的參數(shù)個數(shù)。它及函數(shù)的不同。表示函數(shù)實際承受的參數(shù)個數(shù)。

8、中有五種原始數(shù)據(jù)類型

、、、以及?!沧⒁猓涸谥校瑳]有數(shù)據(jù)類型〕

數(shù)據(jù)類型的值只有一個:;

數(shù)據(jù)類型的值只有一個:;

數(shù)據(jù)類型的值有兩個:和;

9、運算符

是一元運算符,后跟變量的名稱,用于獲取變量的數(shù)據(jù)類型,其返回值有5個:、、、以及。

10、在中,如果函數(shù)沒有聲明返回值,則會返回11、及的關系

實際上是從派生出來的。例如:

及的關系

();

瀏覽器返回

11、強制類型轉換

在中有3種強制類型轉換:〔〕,〔〕,〔〕。

12、對象

在中,所有對象都是從對象繼承過來的。

對象

=;

(v){

(v);

}

上面的代碼中,瀏覽器并沒有打印出什么,并不能說明對象不帶有任何屬性。下面代碼測試對象中的屬性是否可以枚舉,如果返回,則說明對象中的屬性是不能枚舉的。

對象中的屬性是不能枚舉的

((""));

瀏覽器彈出對話框,則說明對象中的屬性是不能枚舉的。

接下來我們再看看對象中的屬性是否可以枚舉的

對象中的屬性是可以枚舉的

(v){

(v);

}

在瀏覽器中我們會看到瀏覽器調試控制臺中打印出一大堆屬性,說明對象中的屬性是可以枚舉的。

13、在中,可以動態(tài)添加對象的屬性,也可以動態(tài)刪除對象的屬性

動態(tài)添加/刪除對象的屬性

=;

()

="";

()

[""]="123";

()123

此時,屬性已經被刪除

();

14、中定義對象最常見的方式

定義對象最常見的方式

={

:"",

:12345

};

();

();

15、數(shù)組

數(shù)組定義

方法一

=;

(1);

(2);

(3);

();

方法二〔推薦〕

=[1,25,4];

;

();

調用數(shù)組的〔〕方法,瀏覽器打印1,25,4,這并不是我們期望的結果。

對于數(shù)組的方法來說,它會先將待排序的內容轉換為字符串〔調用方法〕,按照字符串的先后順序進展排序。

以下方式可以得到我們期望的結果〔按數(shù)組大小進展排序〕:

數(shù)組排序

(12){

1=(1);

2=(2);

(1

-1;

}(12){

0;

}{

1;

}

}

=[1,25,3];

();

();

我們再用匿名函數(shù)的方式實現(xiàn):

匿名函數(shù)排序

=[1,25,3];

((12){

1=(1);

2=(2);

(1

-1;

}(12){

0;

}{

1;

}

});

();

16、中定義對象的5種方式〔中沒有類的概念,只有對象〕i〕基于已有對象擴大其屬性和方法

基于已有對象擴大其屬性和方法

=;

添加屬性

="";

添加方法

=(){

=;

();

};

("")調用方法,屬性被修改為,瀏覽器將打印

最簡單的一種方式,使用起來并不方便,適合于臨時需要一個對象。

〕工廠方式創(chuàng)立對象

不帶參數(shù)的工廠方法:

工廠方法

{

=創(chuàng)立一個對象

=""為該對象添加一個屬性

="123"為該對象添加一個屬性

={為該對象添加一個方法

(",");

};

返回該對象

}

1=調用工廠方法創(chuàng)立對象1

2=調用工廠方法創(chuàng)立對象2

1調用對象方法

2調用對象方法

帶參數(shù)的工廠方法:

(){

=;

=;

=;

={

(",");

};

;

}

1=("","123");

2=("","456");

1;

2;

上面兩種不帶參數(shù)和帶參數(shù)的工廠方法缺點:

每創(chuàng)立一個對象,內存中就創(chuàng)立一個方法,比擬浪費內存,且影響性能。而我們的期望是,創(chuàng)立兩個不同的對象,它們的屬性是不一樣的,但方法是共用的。所以接下來我們需要改良工廠方法。

改良的工廠方法:

{

(",");

}

(){

=;

=;

=;

=;

;

}

1=("","123");

2=("","456");

1;

2;

將方法定義在函數(shù)外面,這樣每創(chuàng)立一個對象,方法都是共用的。讓一個函數(shù)對象被多個對象所共享,而不是每一個對象都擁有一個函數(shù)對象。

〕構造函數(shù)方式創(chuàng)立對象

不帶參數(shù)的構造函數(shù):

{

在執(zhí)行行代碼前,引擎會為我們生成一個對象

="";

="123";

={

(",");

};

此處有一個隱含的語句,用于將之前生成的對象返回〔也是跟工廠方式不一樣的地方〕

}

p1=;

p1;

帶參數(shù)的構造函數(shù)

(){

=;

=;

={

(",");

};

}

p1=("","123");

p2=("","456");

p1;

p2;

〕原型〔〕方式創(chuàng)立對象

是對象里面的一個屬性

{

}

="";

="123";

={

(",");

};

p1=;

p2=;

p1=""對象生成之后再去改變屬性

p1;

p2;

單純地使用原型方式有兩個問題:,你無法在構造函數(shù)中為屬性賦初值,只能在對象生成之后再去改變屬性值。

{

}

=;

="123";

={

(",");

};

p1=;

p2=;

p1("");

p1("");

p1="456";

p1;

p2

瀏覽器將會打?。?,,456和,,123.

如果使用原型方式創(chuàng)立對象,則生成的所有對象會共享原型中的屬性,這樣一個對象改變了該屬性也會反響到其他對象當中。所以單純地使用原型方式是不行的,還需要結合其他方式。接下來我們會繼續(xù)介紹。

使用原型+構造函數(shù)方式來定義對象

{

=;

="123";

}

={

(",");

};

p1=;

p2=;

p1("");

p2("");

p1;

p2;

使用原型+構造函數(shù)方式來定義對象,對象之間的屬性互不干擾,各個對象間共享同一個方法,這是一種比擬好的方式。

v〕動態(tài)原型方式

{

="";

="123";

(""){

("");

={

(+","+);

}

=;

}

}

p1=;

p2=;

p1;

p2;

在動態(tài)原型方式中,在構造函數(shù)中通過標志量讓所有對象共享一個方法,而每個對象擁有自己的屬性。上面代碼在次創(chuàng)立對象時,首先通過一個判斷語句,看屬性是否已經定義,假設沒有定義,則通過原型方式添加方法,然后將設置為,則當?shù)诙蝿?chuàng)立對象時,語句判斷為假,跳過執(zhí)行。這樣就到達了我們所期望的結果,創(chuàng)立的對象屬性是互不干擾的,而對象的方法是共享的。

17、中對象的繼承〔5種方式〕

種方式:對象冒充

冒充對象繼承

父類

(){

=;

={

();

};

}

子類

(){

下面三行代碼是最關鍵的

=;

();

;

=;

={

();

};

}

p=("");

c=("","123");

;

;

第二種方式

繼承的第二種實現(xiàn)方式,方法方式,方法是對象中定義的方法,因此我們定義的每個函數(shù)都擁有該方法。方法的個參數(shù)會被傳遞給函數(shù)中的,從第2個參數(shù)開場,逐一賦給函數(shù)中的參數(shù)。

繼承父類

(){

(",");

}

=;

="";

相當于調用了函數(shù)

(,"5")將賦給了

接下來我們用方式實現(xiàn)對象的繼承

父類

(){

=;

={

();

};

}

子類

(){

();

=;

={

();

};

}

p=("");

c=("","123");

;

;

;

第三種方式

繼承父類

父類

(){

=;

={

();

};

}

子類

(){

(());

=;

={

();

};

}

p=("");

c=("","123");

;

;

;

方法及方法很類似,方法也是定義在對象中的方法,因此我們定義的每個函數(shù)都擁有該方法。

方法及方法有一個區(qū)別:(());傳遞的第二個參數(shù)為一個數(shù)組,而方法傳遞的是一些離散的數(shù)據(jù)參數(shù)。這兩個方法并不能說誰好誰壞,要看具體使用場景。

第四種方式:原型鏈方式〔無法給構造函數(shù)傳遞參數(shù)〕

原型鏈繼承

{

}

="";

={

();

};

{

}

=;

="";

={

();

};

c=;

;

;

單純使用原型鏈方式的缺點:沒有方法傳遞參數(shù),只有等對象創(chuàng)立完之后再去修改。我們接下來結合其它的方式解決這個問題。

第五種方式:混合方式(推薦)

使用混合方式實現(xiàn)對象的繼承

(){

=;

}

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論