官术网_书友最值得收藏!

2.5 JavaScript

JavaScript是一種直譯式腳本語言,是一種動態(tài)類型、弱類型、基于原型的語言,內(nèi)置支持類型。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語言,最早是在HTML網(wǎng)頁上使用的,用來給HTML網(wǎng)頁增加動態(tài)功能。

JavaScript腳本語言同其他語言一樣,有自身的基本數(shù)據(jù)類型、表達(dá)式和算術(shù)運(yùn)算符及程序的基本框架。JavaScript提供了4種基本的數(shù)據(jù)類型和兩種特殊的數(shù)據(jù)類型用來處理數(shù)據(jù)和文字。而變量提供存放信息的地方,表達(dá)式則可以完成較復(fù)雜的信息處理。

有時候分析網(wǎng)站需要理解某些JavaScript的功能,如某些特殊的數(shù)據(jù)會存放在JavaScript中。以12306全國站點為例,如圖2-2所示。

圖2-2 12306站點信息

從圖2-2中可以看到,不同的站點有對應(yīng)的英文字母,代表站點的編碼信息,JavaScript存儲數(shù)據(jù)主要使用變量的形式。

JavaScript還能根據(jù)用戶觸發(fā)某些事件對用戶的操作進(jìn)行加工處理。例如用戶登錄信息設(shè)置加密處理,原理是先對用戶提交的信息做加密處理,然后發(fā)送請求到服務(wù)器,這一系列事件由JavaScript獨(dú)立完成。要用爬蟲實現(xiàn)該功能,就要分析JavaScript如何執(zhí)行整個用戶登錄過程。

下面通過分析一個簡單的例子,來進(jìn)一步了解JavaScript事件的觸發(fā)原理:

JavaScript事件的觸發(fā)過程:

(1)HTML根據(jù)〈form〉〈/form〉標(biāo)簽相應(yīng)地生成一個表單。

(2)當(dāng)用戶在表單輸入內(nèi)容后,單擊提交按鈕,就會觸發(fā)〈form〉〈/form〉表單里所指向的validateForm()方法,執(zhí)行相應(yīng)的JavaScript代碼。

(3)validateForm()會判斷輸入的值是否為空。如果輸入的值為空,就提示輸入名字;若輸入的值不為空,則提示“提交成功”。

主站蜘蛛池模板: 长沙县| 松滋市| 保山市| 西盟| 曲松县| 右玉县| 扶沟县| 深圳市| 工布江达县| 临湘市| 舟曲县| 临潭县| 改则县| 博野县| 健康| 榆树市| 古田县| 乌拉特中旗| 崇阳县| 樟树市| 靖宇县| 东乡族自治县| 墨玉县| 四川省| 嘉祥县| 景宁| 个旧市| 织金县| 名山县| 开封县| 江西省| 岚皋县| 临颍县| 浦城县| 安康市| 榆树市| 钟祥市| 承德市| 罗定市| 陵川县| 财经|