JavaScript基礎(chǔ)知識(shí)點(diǎn)歸納_第1頁(yè)
JavaScript基礎(chǔ)知識(shí)點(diǎn)歸納_第2頁(yè)
JavaScript基礎(chǔ)知識(shí)點(diǎn)歸納_第3頁(yè)
JavaScript基礎(chǔ)知識(shí)點(diǎn)歸納_第4頁(yè)
JavaScript基礎(chǔ)知識(shí)點(diǎn)歸納_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

1、全局變量及局部變量

="";

;

{

="";

();

();

}

();

();

2、兩種類(lèi)型的

i〕持久性,會(huì)被存儲(chǔ)到客戶(hù)端的硬盤(pán)上。

〕回話:不會(huì)被存儲(chǔ)到客戶(hù)端的硬盤(pán)上,而是放在瀏覽器進(jìn)程所處的內(nèi)存當(dāng)中,當(dāng)瀏覽器關(guān)閉時(shí)則該回話就銷(xiāo)毀了。

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

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

5、對(duì)象

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

6、隱含的對(duì)象

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

7、函數(shù)名

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

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

、、、以及。〔注意:在中,沒(méi)有數(shù)據(jù)類(lèi)型〕

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

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

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

9、運(yùn)算符

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

10、在中,如果函數(shù)沒(méi)有聲明返回值,則會(huì)返回11、及的關(guān)系

實(shí)際上是從派生出來(lái)的。例如:

及的關(guān)系

();

瀏覽器返回

11、強(qiáng)制類(lèi)型轉(zhuǎn)換

在中有3種強(qiáng)制類(lèi)型轉(zhuǎn)換:〔〕,〔〕,〔〕。

12、對(duì)象

在中,所有對(duì)象都是從對(duì)象繼承過(guò)來(lái)的。

對(duì)象

=;

(v){

(v);

}

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

對(duì)象中的屬性是不能枚舉的

((""));

瀏覽器彈出對(duì)話框,則說(shuō)明對(duì)象中的屬性是不能枚舉的。

接下來(lái)我們?cè)倏纯磳?duì)象中的屬性是否可以枚舉的

對(duì)象中的屬性是可以枚舉的

(v){

(v);

}

在瀏覽器中我們會(huì)看到瀏覽器調(diào)試控制臺(tái)中打印出一大堆屬性,說(shuō)明對(duì)象中的屬性是可以枚舉的。

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

動(dòng)態(tài)添加/刪除對(duì)象的屬性

=;

()

="";

()

[""]="123";

()123

此時(shí),屬性已經(jīng)被刪除

();

14、中定義對(duì)象最常見(jiàn)的方式

定義對(duì)象最常見(jiàn)的方式

={

:"",

:12345

};

();

();

15、數(shù)組

數(shù)組定義

方法一

=;

(1);

(2);

(3);

();

方法二〔推薦〕

=[1,25,4];

;

();

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

對(duì)于數(shù)組的方法來(lái)說(shuō),它會(huì)先將待排序的內(nèi)容轉(zhuǎn)換為字符串〔調(diào)用方法〕,按照字符串的先后順序進(jìn)展排序。

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

數(shù)組排序

(12){

1=(1);

2=(2);

(1

-1;

}(12){

0;

}{

1;

}

}

=[1,25,3];

();

();

我們?cè)儆媚涿瘮?shù)的方式實(shí)現(xiàn):

匿名函數(shù)排序

=[1,25,3];

((12){

1=(1);

2=(2);

(1

-1;

}(12){

0;

}{

1;

}

});

();

16、中定義對(duì)象的5種方式〔中沒(méi)有類(lèi)的概念,只有對(duì)象〕i〕基于已有對(duì)象擴(kuò)大其屬性和方法

基于已有對(duì)象擴(kuò)大其屬性和方法

=;

添加屬性

="";

添加方法

=(){

=;

();

};

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

最簡(jiǎn)單的一種方式,使用起來(lái)并不方便,適合于臨時(shí)需要一個(gè)對(duì)象。

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

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

工廠方法

{

=創(chuàng)立一個(gè)對(duì)象

=""為該對(duì)象添加一個(gè)屬性

="123"為該對(duì)象添加一個(gè)屬性

={為該對(duì)象添加一個(gè)方法

(",");

};

返回該對(duì)象

}

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

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

1調(diào)用對(duì)象方法

2調(diào)用對(duì)象方法

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

(){

=;

=;

=;

={

(",");

};

;

}

1=("","123");

2=("","456");

1;

2;

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

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

改良的工廠方法:

{

(",");

}

(){

=;

=;

=;

=;

;

}

1=("","123");

2=("","456");

1;

2;

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

〕構(gòu)造函數(shù)方式創(chuàng)立對(duì)象

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

{

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

="";

="123";

={

(",");

};

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

}

p1=;

p1;

帶參數(shù)的構(gòu)造函數(shù)

(){

=;

=;

={

(",");

};

}

p1=("","123");

p2=("","456");

p1;

p2;

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

是對(duì)象里面的一個(gè)屬性

{

}

="";

="123";

={

(",");

};

p1=;

p2=;

p1=""對(duì)象生成之后再去改變屬性

p1;

p2;

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

{

}

=;

="123";

={

(",");

};

p1=;

p2=;

p1("");

p1("");

p1="456";

p1;

p2

瀏覽器將會(huì)打?。?,,456和,,123.

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

使用原型+構(gòu)造函數(shù)方式來(lái)定義對(duì)象

{

=;

="123";

}

={

(",");

};

p1=;

p2=;

p1("");

p2("");

p1;

p2;

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

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

{

="";

="123";

(""){

("");

={

(+","+);

}

=;

}

}

p1=;

p2=;

p1;

p2;

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

17、中對(duì)象的繼承〔5種方式〕

種方式:對(duì)象冒充

冒充對(duì)象繼承

父類(lèi)

(){

=;

={

();

};

}

子類(lèi)

(){

下面三行代碼是最關(guān)鍵的

=;

();

;

=;

={

();

};

}

p=("");

c=("","123");

;

;

第二種方式

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

繼承父類(lèi)

(){

(",");

}

=;

="";

相當(dāng)于調(diào)用了函數(shù)

(,"5")將賦給了

接下來(lái)我們用方式實(shí)現(xiàn)對(duì)象的繼承

父類(lèi)

(){

=;

={

();

};

}

子類(lèi)

(){

();

=;

={

();

};

}

p=("");

c=("","123");

;

;

;

第三種方式

繼承父類(lèi)

父類(lèi)

(){

=;

={

();

};

}

子類(lèi)

(){

(());

=;

={

();

};

}

p=("");

c=("","123");

;

;

;

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

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

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

原型鏈繼承

{

}

="";

={

();

};

{

}

=;

="";

={

();

};

c=;

;

;

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

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

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

(){

=;

}

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論