詳細介紹ECMAScript基礎
網(wǎng)上有無數(shù)的文章說明如何用JavaScript實現(xiàn)“傻瓜式的Web小把戲”,它們包括如何彈出用戶提示信息、交換圖片以及創(chuàng)建簡單的游戲等。雖然這些功能給Web站點增加了趣味性,不過只是復制粘貼其代碼,并不能讓你理解它們?yōu)槭裁茨芷鹱饔靡约叭绾纹鹱饔?。本文章詳細地講解了JavaScript的核心ECMAScript的基礎知識。
一、 語法
ECMAScript的基礎概念如下:
- 區(qū)分大小寫。
- 變量是弱類型的,可以隨時改變變量所存數(shù)據(jù)的類型。
- 每行的結(jié)尾的分號可有可無。
- 注釋與Java、C和PHP語言的注釋相同,單選注釋以雙斜線(//)開頭。多行注釋以單斜線和星號(/*)開頭,以星號加單斜線結(jié)尾(*/)。
- 括號表明代碼塊,語句被封閉在左括號({)和右括號(})之間。
二、變量
ECMAScript中的變量是用var運算符加變量名定義的。變量名需要遵守兩條簡單的規(guī)劃:
1、每個字符必須是字母、下劃線(_)或美元符號($)。
2、余下的字符可下劃線、美元符號或者任何字母或者數(shù)字字符。
變量還應遵守以下三種著名的命名規(guī)劃:
1、 Camel標記法——首字母是小寫,接下來的單詞都以大寫字母開頭。
如:
- Var myTestValue=0;
2、 Pascal標記法——首字母是大寫的,接下來的單詞都以大寫字母開關。
如:
- var MyTestValue=0;
3、 匈牙利類型標記法——在以Pascal標記法命名的變量前附加一個小寫字母,該變量的類型。以下是各字母前綴代表的類型:a(數(shù)組),b(布爾型),f(浮點型),fn(函數(shù)),i(整型),o(對象),re(正則表達式),s(字符串),v(變型[可以是任何類型])。如:
- var iMyTestValue=0;
三、關鍵字
ECMA-262定義了ECMAScript支持的一套關鍵字是保留的,不能用作變量名或者函數(shù)名。
下面是ECMAScript關鍵字的完整列表:
- Break else new var case finally return void catch for
- Switch while continue function this with default if throw
- delete in try do instanceof typeof
四、保留字
ECMA-262定義了ECMAScript定義的一套保留字是某種意義上的為將來的關鍵字而保留的單詞,其不能用作變量名或者函數(shù)名。
下面是ECMAScript保留字的完整列表:
- Abstract enum int short Boolean export interface static byte extends long super
- Char final native synchronized class float
- package thorws const goto private transient
- debugger implements protected volatile double import public
五、原始值和引用值
原始值是存儲在棧中的簡單數(shù)據(jù)段,也就是說,它們的值直接存儲在變量訪問的位置。引用值是存儲在堆中的對象,也就是說,存儲在變量處的值是一個指針,指向存儲對象的內(nèi)存處。
六、原始類型
ECMAScript有5種原始類型,即Undefined,Null,Boolean,Number和String。
typeof運算符:只有有個參數(shù),即要檢查的變量或值。
如:
- var sTemp=”test string”;
- alert(typeof sTemp) //outputs “string”。
1、 Undefined類型只有一個值,即undefined,當聲明的變量未初始化時,該變量的默認值是undefined。當函數(shù)無明確返回值是,返回的也是值undefined。
2、 Null類型表示尚未存在的對象,只有一個專用值null,值undefined實際上是從值null派生來的,因此ECMAScript把它們定義為想等的。
- alert (null == undefined); //outputs “true”。
3、 Boolean類型只有兩個值true和false。
4、 Nunmber類型既可表示32位整數(shù),也可表示64位浮點數(shù)。特殊值NaN,表示非數(shù)。
5、 String類型沒有固定大小,可用字符串存儲0或更多的Unicode字符,由16位整數(shù)表示。
七、轉(zhuǎn)換
1、轉(zhuǎn)換成字符串
Boolean值、數(shù)字和字符串的原始值是偽對象,他們有屬性和方法,都有toString()方法
2、轉(zhuǎn)換成數(shù)字
ECMAScript提供了兩種把非常的原始值轉(zhuǎn)換成數(shù)字的方法,即parseInt()和parseFloat (),只有對String類型調(diào)用這些方法,才能正確運行。
3、強制類型轉(zhuǎn)換
- Boolean(Value)——把給定的值轉(zhuǎn)換成Boolean型。
- Number(Value)——把給定的值轉(zhuǎn)換成數(shù)字。
- String(Value)——把給定的值轉(zhuǎn)換成字符串。
#p#
八、引用類型
引用類型通常叫做類,遇到引用值時,所處理的就是對象。對象有由new運算符加上要實例化的類的名字創(chuàng)建的。
1、 Object類:ECMAScript中的所有類都是由這個類繼承來,Object類中的所有屬性的方法都會出現(xiàn)在其他類中。
2、 Boolean類:Boolean原始類型的引用類型。
3、 Number類:Number原始類型的引用類型。
4、 String類:String原始類型的對象表示法。
- charCodeAt()方法返回的是侯島指定位置處的字符的字符串。
- contact()方法用于把一個或多個字符串連接到String對象的原始值上。
- indexOf()方法是從字符串的開關開始檢索子串,返回指定的字串在另一個字符串的位置。
- lastIndexOf()方法是從字符串的結(jié)尾開始檢索子串,返回指定的字串在另一個字符串的位置。
- localeCompare()對字符串排序,只有一個參數(shù),即要進行比較的字符串。
- slice()返回要處理的字符串的子路,接受一個或者兩個參數(shù),一個是子串的起始位置,另一個是獲取子串的終止前的位置。對于負參數(shù),用字符串的長度加上參數(shù)。
- substring()返回要處理的字符串的子路,接受一個或者兩個參數(shù),一個是子串的起始位置,另一個是獲取子串的終止前的位置。對于負參數(shù),其將其作為處理。 它總是把較小的數(shù)位作為起始位,較大的數(shù)字作為終止位。
- instanceof運算符:用于識別正在處理的對象的類型。
九、運算符
1、一元運算符
delete運算符刪除對以前定義的對象屬性或方法的引用;Void運算符對任何值返回undefine;前(后)增量/前(后)減量運算符(++、–);一元加(減)法。
2、位運算符:NOT(~),AND(&),OR(|),左移(<<),右移(>>),無符號右移運算(>>>)。
3、Boolean運算符:邏輯NOT(!),邏輯AND(&&),邏輯OR(||)。
4、乘性運算符:乘(*),除(/),取模(%)。
5、加性運算符:+,-。
6、關系運算符:小于(<),大于(>),小于等于(<=)和大于等于(>=)。
7、等性運算符:雙等號(==),不等于(!=),全等號(====),非全等號(!==)。
8、條件運算符:?:
9、賦值運算符:=
十、語句
1、if語句
if(條件) 語句1 else 語句2
2、迭代語句
do{語句} while(條件),while(條件)語句,for(初始值;條件;遞增量)語句,for(屬性 in 表式) 語句
3、有標簽的語句:標簽:語句
4、 break語句:立即退出循環(huán),阻止再次反復執(zhí)行任何代碼。Continue語句退出當前循環(huán)。
5、 with語句:用于設置代碼在特定對象中的作用域,with(表達式)語句。
6、 switch語句:
- switch(表達式){
- case 值:語句
- break;
- case 值:語句
- break;
- case 值:語句
- break;
- ……
- Default:語句
- }
十一、函數(shù)
函數(shù)是一組可以隨時隨地運行的語句,函數(shù)是由關鍵字function、函數(shù)名加一組參數(shù)以及置于括號中的要執(zhí)行的代碼聲明的。如果函數(shù)無明確的返回值,或調(diào)用了沒有參數(shù)的return語句,那么它真正返回的值是undefined。ECMAScript中的函數(shù)不能重載;在函數(shù)中可以使用特殊對象arguments。
1、 Function類
- var 函數(shù)=new Function(參數(shù)1,參數(shù)2,……參數(shù)N,函數(shù)體)
2、閉包:能使用函數(shù)外定義的變量的函數(shù)。
希望對你有幫助。
本文鏈接地址: http://www.yiiyaa.net/669
【編輯推薦】