詳細介紹ECMAScript基礎

網上有無數的文章說明如何用JavaScript實現「傻瓜式的Web小把戲」,它們包括如何彈出用戶提示信息、交換圖片以及建立簡單的遊戲等。雖然這些功能給Web站點增長了趣味性,不過只是複製粘貼其代碼,並不能讓你理解它們爲何能起做用以及如何起做用。本文章詳細地講解了JavaScript的核心ECMAScript的基礎知識。正則表達式

1、 語法數組

ECMAScript的基礎概念以下:閉包

  • 區分大小寫。
  • 變量是弱類型的,能夠隨時改變變量所存數據的類型。
  • 每行的結尾的分號無關緊要。
  • 註釋與Java、C和PHP語言的註釋相同,單選註釋以雙斜線(//)開頭。多行註釋以單斜線和星號(/*)開頭,以星號加單斜線結尾(*/)。
  • 括號代表代碼塊,語句被封閉在左括號({)和右括號(})之間。

2、變量函數

ECMAScript中的變量是用var運算符加變量名定義的。變量名須要遵照兩條簡單的規劃:this

一、每一個字符必須是字母、下劃線(_)或美圓符號($)。spa

二、餘下的字符可下劃線、美圓符號或者任何字母或者數字字符。debug

變量還應遵照如下三種著名的命名規劃:指針

一、 Camel標記法——首字母是小寫,接下來的單詞都以大寫字母開頭。code

如:對象

 
  1. Var myTestValue=0; 

二、 Pascal標記法——首字母是大寫的,接下來的單詞都以大寫字母開關。

如:

 
  1. var MyTestValue=0; 

三、 匈牙利類型標記法——在以Pascal標記法命名的變量前附加一個小寫字母,該變量的類型。如下是各字母前綴表明的類型:a(數組),b(布爾型),f(浮點型),fn(函數),i(整型),o(對象),re(正則表達式),s(字符串),v(變型[能夠是任何類型])。如:

 
  1. var iMyTestValue=0; 

3、關鍵字

ECMA-262定義了ECMAScript支持的一套關鍵字是保留的,不能用做變量名或者函數名。

下面是ECMAScript關鍵字的完整列表:

 
  1. Break else new var case finally return void catch for  
  2. Switch while continue function this with default if throw   
  3. delete in try do instanceof typeof 

4、保留字

ECMA-262定義了ECMAScript定義的一套保留字是某種意義上的爲未來的關鍵字而保留的單詞,其不能用做變量名或者函數名。

下面是ECMAScript保留字的完整列表:

 
  1. Abstract enum int short Boolean export interface static byte extends long super  
  2. Char final native synchronized class float  
  3. package thorws const goto private transient  
  4. debugger implements protected volatile double import public 

5、原始值和引用值

原始值是存儲在棧中的簡單數據段,也就是說,它們的值直接存儲在變量訪問的位置。引用值是存儲在堆中的對象,也就是說,存儲在變量處的值是一個指針,指向存儲對象的內存處。

6、原始類型

ECMAScript有5種原始類型,即Undefined,Null,Boolean,Number和String。

typeof運算符:只有有個參數,即要檢查的變量或值。

如:

 
  1. var sTemp=」test string」;   
  2. alert(typeof sTemp) //outputs 「string」。 

一、 Undefined類型只有一個值,即undefined,當聲明的變量未初始化時,該變量的默認值是undefined。當函數無明確返回值是,返回的也是值undefined。

二、 Null類型表示還沒有存在的對象,只有一個專用值null,值undefined其實是從值null派生來的,所以ECMAScript把它們定義爲想等的。

 
  1. alert (null == undefined); //outputs 「true」。 

三、 Boolean類型只有兩個值true和false。

四、 Nunmber類型既可表示32位整數,也可表示64位浮點數。特殊值NaN,表示非數。

五、 String類型沒有固定大小,可用字符串存儲0或更多的Unicode字符,由16位整數表示。

7、轉換

一、轉換成字符串

Boolean值、數字和字符串的原始值是僞對象,他們有屬性和方法,都有toString()方法

二、轉換成數字

ECMAScript提供了兩種把很是的原始值轉換成數字的方法,即parseInt()和parseFloat (),只有對String類型調用這些方法,才能正確運行。

三、強制類型轉換

  • Boolean(Value)——把給定的值轉換成Boolean型。
  • Number(Value)——把給定的值轉換成數字。
  • String(Value)——把給定的值轉換成字符串。

8、引用類型

引用類型一般叫作類,遇到引用值時,所處理的就是對象。對象有由new運算符加上要實例化的類的名字建立的。

一、 Object類:ECMAScript中的全部類都是由這個類繼承來,Object類中的全部屬性的方法都會出如今其餘類中。

二、 Boolean類:Boolean原始類型的引用類型。

三、 Number類:Number原始類型的引用類型。

四、 String類:String原始類型的對象表示法。

  •  charCodeAt()方法返回的是侯島指定位置處的字符的字符串。
  •  contact()方法用於把一個或多個字符串鏈接到String對象的原始值上。
  •  indexOf()方法是從字符串的開關開始檢索子串,返回指定的字串在另外一個字符串的位置。
  •  lastIndexOf()方法是從字符串的結尾開始檢索子串,返回指定的字串在另外一個字符串的位置。
  •  localeCompare()對字符串排序,只有一個參數,即要進行比較的字符串。
  •  slice()返回要處理的字符串的子路,接受一個或者兩個參數,一個是子串的起始位置,另外一個是獲取子串的終止前的位置。對於負參數,用字符串的長度加上參數。
  •  substring()返回要處理的字符串的子路,接受一個或者兩個參數,一個是子串的起始位置,另外一個是獲取子串的終止前的位置。對於負參數,其將其做爲處理。 它老是把較小的數位做爲起始位,較大的數字做爲終止位。
  •  instanceof運算符:用於識別正在處理的對象的類型。

9、運算符

一、一元運算符

delete運算符刪除對之前定義的對象屬性或方法的引用;Void運算符對任何值返回undefine;前(後)增量/前(後)減量運算符(++、–);一元加(減)法。

二、位運算符:NOT(~),AND(&),OR(|),左移(<<),右移(>>),無符號右移運算(>>>)。

三、Boolean運算符:邏輯NOT(!),邏輯AND(&&),邏輯OR(||)。

四、乘性運算符:乘(*),除(/),取模(%)。

五、加性運算符:+,-。

六、關係運算符:小於(<),大於(>),小於等於(<=)和大於等於(>=)。

七、等性運算符:雙等號(==),不等於(!=),全等號(====),非全等號(!==)。

八、條件運算符:?:

九、賦值運算符:=

10、語句

一、if語句

if(條件) 語句1 else 語句2

二、迭代語句

do{語句} while(條件),while(條件)語句,for(初始值;條件;遞增量)語句,for(屬性 in 表式) 語句

三、有標籤的語句:標籤:語句

四、 break語句:當即退出循環,阻止再次反覆執行任何代碼。Continue語句退出當前循環。

五、 with語句:用於設置代碼在特定對象中的做用域,with(表達式)語句。

六、 switch語句:

 
  1. switch(表達式){  
  2. case 值:語句  
  3. break;  
  4. case 值:語句  
  5. break;  
  6. case 值:語句  
  7. break;  
  8. ……  
  9. Default:語句  

11、函數

函數是一組能夠隨時隨地運行的語句,函數是由關鍵字function、函數名加一組參數以及置於括號中的要執行的代碼聲明的。若是函數無明確的返回值,或調用了沒有參數的return語句,那麼它真正返回的值是undefined。ECMAScript中的函數不能重載;在函數中可使用特殊對象arguments。

一、 Function類

 
  1. var 函數=new Function(參數1,參數2,……參數N,函數體) 

二、閉包:能使用函數外定義的變量的函數。

但願對你有幫助。

相關文章
相關標籤/搜索