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

1.1 JavaScript簡述

JavaScript是Web頁面中的一種腳本編程語言,也是一種通用的、跨平臺的、基于對象和事件驅動并具有安全性的腳本語言。它不需要進行編譯,而是直接嵌入在HTML頁面中,把靜態頁面轉變成支持用戶交互并響應相應事件的動態頁面。

1.1.1 JavaScript的起源

JavaScript語言的前身是LiveScript語言,這是由美國Netscape(網景)公司的布瑞登·艾克(Brendan Eich)為1995年發布的Navigator 2.0瀏覽器的應用而開發的腳本語言。與Sun(升陽)公司(現已被甲骨文公司收購)聯手完成LiveScript語言的開發后,就在Navigator 2.0正式發布前,Netscape公司將其改名為JavaScript,也就是最初的JavaScript 1.0版本。雖然當時該版本還存在很多缺陷,卻絲毫不影響以JavaScript 1.0版本為基礎的Navigator 2.0在瀏覽器市場上的主宰地位。

因為JavaScript 1.0如此成功,Netscape公司在Navigator 3.0中發布了JavaScript 1.1版本。同時微軟開始進軍瀏覽器市場,發布了Internet Explorer 3.0并搭載了一個JavaScript的類似版本,其注冊名稱為JScript。這成為JavaScript語言發展過程中的重要一步。

在微軟進入瀏覽器市場后,此時有3種不同的JavaScript版本同時存在,Navigator中的JavaScript、IE中的JScript以及CEnvi中的ScriptEase。與其他編程語言不同的是,JavaScript并沒有一個標準來統一其語法或特性,而這3種不同的版本恰恰突出了這個問題。1997年,JavaScript 1.1版本作為一個草案被提交給歐洲計算機制造商協會(ECMA)。最終,由來自Netscape、Sun、微軟、Borland和其他一些對腳本編程感興趣的公司的程序員組成了TC39委員會,以制定一個標準化的,可通用、跨平臺、中立于廠商的腳本語言。TC39委員會制定了“ECMAScript程序語言的規范書”(又稱為“ECMA-262標準”),該標準通過國際標準化組織(ISO)采納通過,成為各種瀏覽器生產開發所使用的腳本程序的統一標準。

1.1.2 JavaScript的主要特點

JavaScript腳本語言的主要特點如下:

解釋性

JavaScript不同于一些編譯性的程序語言,如C、C++等。它是一種解釋性的程序語言,其源代碼不需要經過編譯,而是直接在瀏覽器運行時被解釋。

基于對象

JavaScript是一種基于對象的語言,這意味著它能運用已經創建的對象。因此,許多功能可以來自于腳本環境中對象的方法與腳本的相互作用。

事件驅動

JavaScript可以直接對用戶或客戶輸入做出響應,無須經過Web服務程序。它對用戶的響應,是以事件驅動的方式進行的。所謂事件驅動,就是指在主頁中執行了某種操作所產生的動作,此動作稱為事件。例如,按下鼠標、移動窗口、選擇菜單等都可以視為事件。當事件發生時,可能會引起相應的事件響應。

跨平臺

JavaScript依賴于瀏覽器本身,與操作環境無關,只要是能運行瀏覽器的計算機,就可以正確執行。

安全性

JavaScript是一種安全性語言,不允許訪問本地的硬盤,不能將數據存入服務器上,不允許對網絡文檔進行修改和刪除,只能通過瀏覽器實現信息瀏覽或動態交互,因此可有效地防止數據的丟失。

1.1.3 JavaScript的應用

使用JavaScript腳本實現的動態頁面,在Web上隨處可見。下面將介紹幾種JavaScript常見的應用。

驗證用戶輸入的內容

使用JavaScript腳本語言可以在客戶端對用戶輸入的數據進行驗證。例如,在制作用戶注冊信息頁面時,要求用戶輸入確認密碼,以確定用戶前面輸入的密碼是否準確。如果用戶在“確認密碼”文本框中輸入的信息與“密碼”文本框中輸入的信息不同,將彈出相應的提示信息,如圖1.1所示。

圖1.1 驗證兩次密碼是否一致

動畫效果

在瀏覽網頁時,經常會看到一些動畫效果,使頁面顯得更加生動。使用JavaScript腳本語言也可以實現動畫效果。例如,在頁面中實現下雪的效果,如圖1.2所示。

圖1.2 動畫效果

窗口的應用

打開網頁時經常會看到一些浮動的廣告窗口,這些廣告窗口是網站主要的盈利手段之一??梢酝ㄟ^JavaScript腳本語言來實現如圖1.3所示的廣告窗口。

圖1.3 窗口的應用

文字特效

使用JavaScript腳本語言可以使文字生成多種特效,例如,使文字旋轉,如圖1.4所示。

圖1.4 文字特效

明日學院應用的jQuery效果

在明日學院的“讀書”欄目中,應用jQuery實現了顯示和隱藏子菜單的效果。當鼠標單擊某個主菜單時,將滑動顯示其下相應的子菜單。對應地,其他子菜單將會滑動隱藏,如圖1.5所示。

圖1.5 明日學院應用的jQuery效果

京東網上商城應用的jQuery效果

京東網上商城的話費充值頁面應用jQuery實現了標簽頁的效果。當鼠標單擊“話費快充”選項卡時,標簽頁中將顯示話費快充的相關內容,如圖1.6所示。當鼠標單擊其他選項卡時,標簽頁中將顯示相應的內容。

圖1.6 京東網上商城應用的jQuery效果

應用Ajax技術實現百度搜索提示

在百度首頁的搜索文本框中輸入要搜索的關鍵字時,下方會自動給出若干個相關提示。如果給出的提示有符合要求的內容,可以直接選擇,非常方便。例如,輸入“明日科”后,在下面將顯示如圖1.7所示的提示信息。

圖1.7 百度搜索提示頁面

主站蜘蛛池模板: 灵石县| 内江市| 沙洋县| 伊金霍洛旗| 双牌县| 东明县| 雅江县| 仙居县| 太仆寺旗| 深圳市| 韶山市| 齐河县| 宕昌县| 南木林县| 隆安县| 团风县| 从化市| 诸城市| 远安县| 安徽省| 巴马| 武邑县| 浦县| 卫辉市| 稻城县| 资阳市| 石阡县| 香港 | 贵州省| 福清市| 盐山县| 鹤峰县| 五莲县| 绥滨县| 浏阳市| 呼玛县| 钟山县| 九龙县| 定结县| 苍溪县| 米林县|