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