小引
筆者認為web開發包括設計html,javascript,css,以及一種高級語言,比如c#,java等等,本文分為三部分,第一部分為簡單介紹javascript,第二部分為理解ECMAscript,最後部分為為javascript基礎,所以針對javascript筆者不是很深理解,只能從下面幾點對他進行分析,要是不對,請指出,謝謝!主要內容為:
第一部分: javascript
特點
javascript的實現
ECMAScript標准
javascript的發展
第二部分:
關於 ECMAScript
1、相同的句法
2、面向對象編程
3、函數也是對象
4、對象都有原型
5、數據構造方便
6、JavaScript對象符號(JSON)
7、Fifth Edition
第三部分:
1、javascript語法
2、變量
3、數據類型
4、條件語句
5、循環語句
6、函數
參考
第一部分:
javascript介紹
JavaScript是一種基於對象(Object)和事件驅動(Event Driven)並具有安全性能的腳本語言。使用它的目的是與HTML超文本標記語言、Java 腳本語言(Java小程序)一起實現在一個Web頁面中鏈接多個對象,與Web客戶交互作用。從而可以開發客戶端的應用程序等。它是通過嵌入或調入在標准的HTML語言中實現的。它的出現彌補了HTML語言的缺陷,它是Java與HTML折衷的選擇.
特點
是一種腳本編寫語言
JavaScript是一種腳本語言,它采用小程序段的方式實現編程。像其它腳本語言一樣,JavaScript同樣已是一種解釋性語言,它提供了一個易的開發過程。它的基本結構形式與C、C++、VB、Delphi十分類似。但它不像這些語言一樣,需要先編譯,而是在程序運行過程中被逐行地解釋。它與HTML標識結合在一起,從而方便用戶的使用操作。 基於對象的語言。JavaScript是一種基於對象的語言,同時以可以看作一種面向對象的。這意味著它能運用自己已經創建的對象。因此,許多功能可以來自於腳本環境中對象的方法與腳本的相互作用。
簡單性
JavaScript的簡單性主要體現在:首先它是一種基於Java基本語句和控制流之上的簡單而緊湊的設計, 從而對於學習Java是一種非常好的過渡。其次它的變量類型是采用弱類型,並未使用嚴格的數據類型。
安全性
JavaScript是一種安全性語言,它不允許訪問本地的硬盤,並不能將數據存入到服務器上,不允許對網絡文檔進行修改和刪除,只能通過浏覽器實現信息浏覽或動態交互。從而有效地防止數據的丟失。
動態性的
JavaScript是動態的,它可以直接對用戶或客戶輸入做出響應,無須經過Web服務程序。它對用戶的反映響應,是采用以事件驅動的方式進行的。所謂事件驅動,就是指在主頁(Home Page)中執行了某種操作所產生的動作,就稱為“事件”(Event)。比如按下鼠標、移動窗口、選擇菜單等都可以視為事件。當事件發生後,可能會引起相應的事件響應。
跨平台性
JavaScript是依賴於浏覽器本身,與操作環境無關,只要能運行浏覽器的計算機,並支持JavaScript的浏覽器就可正確執行。從而實現了“編寫一次,走遍天下”的夢想。實際上JavaScript最傑出之處在於可以用很小的程序做大量的事。無須有高性能的電腦,軟件僅需一個字處理軟件及一浏覽器,無須WEB服務器通道,通過自己的電腦即可完成所有的事情。
綜合
JavaScript 是一種新的描述語言,它可以被箝入到 HTML 的文件之中。 JavaScript語言可以做到回應使用者的需求事件 (如: form 的輸入) ,而不用任何的網路來回傳輸資料,所以當一位使用者輸入一項資料時,它不用經過傳給伺服端 (server)處理,再傳回來的過程,而直接可以被客戶端 (client) 的應用程式所處理。
JavaScript 和 Java 很類似,但到底並不一樣! Java 是一種比 JavaScript 更復雜許多的程式語言,而 JavaScript 則是相當容易了解的語言。JavaScript 創作者可以不那麽注重程式技巧,所以許多 Java 的特性在 Java Script 中並不支援。
JavaScript實現
核心(ECMAScript)——JavaScript的核心ECMAScript描述了該語言的語法和基本對象
文檔對象模型(DOM)——DOM描述了處理網頁內容的方法和接口
浏覽器對象模型(BOM)——BOM描述了與浏覽器進行交互的方法和接口
ECMAScript標准
1997年,歐洲計算機制造商協會(ECMA)在JavaScript語言規范的基礎上制定了ECMA-262標准,形成了網頁腳本語言的規范。目前各主流浏覽器均支持符合 ECMA-262標准的腳本語言。從此,Web浏覽器就開始努力(雖然有著不同程度的成功和失敗)將ECMAScript作為JavaScript實現的基礎。盡管ECMAScript是一個重要的標准,但它並不是JavaScript唯一的部分,當然,也不是唯一被標准化的部分。實際上,一個完整的JavaScript實現是由以下3個不同部分組成的:
核心(ECMAScript)——JavaScript的核心ECMAScript描述了該語言的語法和基本對象
文檔對象模型(DOM)——DOM描述了處理網頁內容的方法和接口
浏覽器對象模型(BOM)——BOM描述了與浏覽器進行交互的方法和接口
目前所有的主流 Web 浏覽器都支持 ECMA-262 第三版,即JavaScript 1.5版本,JavaScript 1.6-1.9只是ECMAScript (JavaScript on Gecko)升級至JavaScript 2.0的臨時代號。
JavaScript的發展趨勢
語言永遠被當做工具,這一點從來都沒有被改變過,以後也不會,語言是使用及和其他技術進行交流的方式和手段。例如,在Windows平台上,使用ADODB組件可以使JavaScript能處理支持SQL的數據庫中的數據,使用FSO組件可以實現本地文件IO功能。這一切都說明了JavaScript位於應用開發的最頂端,其與低層技術的實現無關。
盡管平台技術不斷發生變化,JavaScript仍將以不變的形式去使用平台提供的能力從而適應新的需求。未來的一段時間內,Web開發將是開發者眾聚之地,也是JavaScript變得紫紅的時代。
第二部分: 關於 ECMAScript
ECMAScript是ECMA(European Computer Manufacturers Association)制定的標准腳本語言(JAVAScript),目前推薦遵循的是ECMAScript 262(http://www.ecma.ch/ecma1/STAND/ECMA-262.HTM),首先ECMAScript規范描述了腳本編程語言應實現的基本內容如下:語法 ,數據和變量的類型 ,語句 ,關鍵字 ,保留字 ,運算符 對象。所以符合ECMA-262規范的腳本編程語言必須實現該規范描述的所有的"類型、值、對象、屬性、函數和程序語法及語義",並且必須支持Unicode字符標准(UCS)。在此基礎上,每個具體實現還可以指定"額外的類型、值、對象、屬性和函數",可以定義新的"程序和正則表達式語法"等。
1、相同的句法 首先是相同的句法,ECMAScript與其他流行的開放語言如c#,java,很類似,也就意味著其他語言風格看起來很想在ECMAScript上,比如
復制代碼 代碼如下:
for(i = 0; i < a.length; i++) {
if (a[i] == x)
return i;
}
2、面向對象編程 ECMAScript的支持面向對象編程。在ECMAScript對象命名屬性的值。對象的屬性,函數可以被稱為方法。
window.setTitle(user.name);
3、函數也是對象 ECMAScript的功能是對象和屬性作為參數傳遞,可以存儲,並作為結果返回。從函數式編程上,讓你的函數和方法導入功能從他們的調用者那裡得到一個簡單而靈活的方式。
復制代碼 代碼如下:
var recent = posts.sort(function(a, b) {
return (a.date > b.date ? -1 : 1);
}).slice(0, 10);
4、對象都有原型 受到本身程序語言的鼓舞,ECMAScript的對象繼承原型對象的屬性,基於原型的編程方便容易委托和靈活的覆蓋對象的行為。
復制代碼 代碼如下:
function Car() { }
Car.prototype = new Object();
Car.prototype.wheels = 4;
Car.prototype.color = "black";
function RaceCar() { }
RaceCar.prototype = new Car();
RaceCar.prototype.color = "red";
var vroom = new RaceCar();
vroom.wheels // 4
vroom.color // "red"
5、數據構造方便
ECMAScript中談到許多常見的數據類型,這樣可以節省時間,使你的程序更加易讀速記。
Arrays
var digits = [3, 1, 4, 1, 5, 9];
Objects
var img = { width: 320, height:160, src: "images/es.png" };
正則表達式
var email = /([^@]*)@([^@]*)/;
6、JavaScript對象符號(JSON)
JSON是一種流行,輕量級的數據交換格式。 JSON是交互式的網頁和網絡服務,部分特別有用,因為它的語法是ECMAScript的語法的一個子集。
7、Fifth Edition
歐洲計算機制造商協會最近公布的新的ECMAScript標准第五版的最終候選人草案。一些新的功能包括:
1、提高標准庫
2、標准化的JSON庫
3、反射的getter和setter方法
第三部分:
1、javascript語法
1.1區分大小寫
1.2弱項類型變量
var MyName="Xinzhu";var Age =22;var School="Gxnu";var male=true; 1.3每項結尾分號可有,可無
1.4括號用於代碼塊
復制代碼 代碼如下:
if(myName=="xinzhu"){
var age=22;
alert(age);
}
1.5javascript注釋方式和c語言,java相同
2、變量
通過var關鍵字聲明,如:var boy="xinzhu";這裡要注意,首字符是字母,可以是大小寫,下劃線和$,剩下的可以是下劃線,$,任意之母;變量名不可以是關鍵字或者保留字
3、數據類型
underfined,代表一切不可知的事情,可以將underfined賦值給任何變量或者屬性,但是並不意味清除該變量,反而會因此多了一個屬性
null,大概有這個概念,但是什麼東西都沒有
boolean,是和非,用於代碼處理和控制代碼流程
Number,線性的事物,大小寫和次序分明,用於代碼進行批量處理,可以控制代碼迭代或循環
String,面向人們的理性事物,可以通過人機溝通的信息,代碼可以理解人的意圖
4、條件語句
比較操作符,邏輯操作符,if語句,switch語句,這些都會很簡單不布列
5、循環語句
for, while, 太簡單不布列
6、函數
javascript代碼只有function一種形式,function就是函數的類型,用於完成一個事件的方法
格式:
復制代碼 代碼如下:
function functionName([arg0,arg1,arg2......argN]){
statements
[returm[expression]]
}
例子:
復制代碼 代碼如下:
function sayHello(sName){
alert("Hello"+sName);
}
sayName(xinzhu);//調用
參考
1、2012年3月編程語言排行榜:JavaScript語言的回歸(1)
2、it公司面試手冊
3、Standard ECMA-262:http://www.ecma-international.org/publications/standards/Ecma-262-arch.htm
4、ecmascript:http://www.ecmascript.org/index.php
5、《精通JavaScript.jQuery》