原文出處://www.codeproject.com/KB/scripting/Observer_Pattern_JS.aspx JavaScript的簡(jiǎn)單介紹 JavaScript是一種基于原型(prototype)的腳本語(yǔ)言(以前叫LiveScript)。它的語(yǔ)法松散,類似于C語(yǔ)言。該腳本語(yǔ)言是由Netscape社團(tuán)開發(fā)的,用于Navigator瀏覽器。和C語(yǔ)言一樣,JavaScript本身沒有構(gòu)造函數(shù)和析構(gòu)函數(shù)。C語(yǔ)言依賴于標(biāo)準(zhǔn)輸入/輸出庫(kù);而JavaScript則依賴于執(zhí)行它的宿主環(huán)境。這種腳本語(yǔ)言使用自定義函數(shù),其他語(yǔ)言中可能會(huì)被稱為過(guò)程、例程或功能;趙eb的JavaScript主要用于在web頁(yè)面中和DOM(即文檔對(duì)象模型)進(jìn)行交互,以便完成一些僅使用HTML無(wú)法實(shí)現(xiàn)的功能。JScript是微軟推出的和 JavaScript 對(duì)應(yīng)的一種腳本語(yǔ)言,它用于微軟的IE瀏覽器當(dāng)中。 在JavaScript中創(chuàng)建自定義對(duì)象 創(chuàng)建一個(gè)新的JavaScript對(duì)象需要2個(gè)步驟。首先,你需要?jiǎng)?chuàng)建一個(gè)函數(shù),函數(shù)名就是新建的類的名稱。這個(gè)函數(shù)也就是我們經(jīng)常說(shuō)的 構(gòu)造函數(shù)。然后,你必須使用 new 操作符,后面跟上對(duì)象的名稱以及一些必要的參數(shù)來(lái)創(chuàng)建一個(gè)對(duì)象的實(shí)例。下面的代碼定義了一個(gè) Person 函數(shù),然后使用 new 操作符創(chuàng)建了 Person 的實(shí)例:
this關(guān)鍵字是指向你當(dāng)前正在執(zhí)行的對(duì)象的實(shí)例,因此,允許你在當(dāng)前對(duì)象上添加或修改對(duì)象的屬性。 如何為對(duì)象添加方法? 在JavaScript中,通過(guò)調(diào)用綁定了原型屬性的 構(gòu)造函數(shù) 來(lái)創(chuàng)建任何對(duì)象。添加新方法的語(yǔ)法如下:
如果你在一個(gè)對(duì)象的prototype屬性上添加一個(gè)方法,那么,所有通過(guò)該對(duì)象的構(gòu)造函數(shù)創(chuàng)建的實(shí)例都具有這個(gè)新方法。注意,prototype 本身也是一個(gè)對(duì)象,而且能夠通過(guò) 對(duì)象文字語(yǔ)法(object literal syntax) 來(lái)為它定義屬性和方法:
腳本每次嘗試讀/寫對(duì)象的屬性的時(shí)候,JavaScript會(huì)按照特定的順序來(lái)搜尋和指定名稱匹配的屬性。順序如下: l 如果該屬性已經(jīng)分配給當(dāng)前對(duì)象,則使用該屬性的值; l 如果在當(dāng)前對(duì)象中沒有搜索到指定的屬性,則檢查該對(duì)象構(gòu)造函數(shù)的prototype屬性的值; l 沿著prototype鏈一直查找,直到找到匹配的屬性(已經(jīng)為它賦值),否則,一直會(huì)查找到 Object 對(duì)象。因此,如果你改變了構(gòu)造函數(shù)的prototype屬性的值,并且沒有在構(gòu)造函數(shù)的某個(gè)實(shí)例中重寫屬性的值,JavaScript會(huì)返回對(duì)象當(dāng)前prototype屬性的值。 |
![]() | ![]() .. 定價(jià):¥225 優(yōu)惠價(jià):¥213 更多書籍 |
![]() | ![]() .. 定價(jià):¥133 優(yōu)惠價(jià):¥133.0 更多書籍 |