1. 程式人生 > >javascript中的name以及關鍵字

javascript中的name以及關鍵字

做表單驗證時,將name命名為變數“var name=document.getElementById("name");”,用谷歌瀏覽器 開啟頁面,還未輸入文字時檢測使用者名稱輸入文字長度,應該長度為0的,但是發現沒有什麼卵用,將變數名改為name1之後就好了。

這讓身為小白的我很好奇,經過查詢資料發現name具有特殊之處,它不是javascript的關鍵字,也不是保留字(保留字在某種意思上是為將來的關鍵字而保留的單詞,因此保留字也不能被用作變數名或函式名),頁面在IE瀏覽器上執行正常,但是Safari,chrome,Firefox和Opera這些瀏覽器都給函式定義了一個非標準的name屬性,是window的自帶全域性屬性,所以在全域性宣告name變數名會出現訪問異常問題。

解決了我的問題,順便查閱了js的關鍵字以及保留字,整理如下。

// javascript的關鍵字

break   case   catch   continue   default   delete   do
else   finally   for   function   if   in   instanceof
new   return   switch   this   throw   try   typeof
var   void   while   with



/* javascript的保留字 */

abstract   boolean   byte   char   class   const   debugger   double
enum       export    extends       final   float   goto       implements
import     int       interface     long    native  package    private
protected  public    short         static  super   synchronized
throws     transient volatile

注意

1.如果把關鍵字用作變數名或函式名,可能得到諸如 "Identifier Expected"(應該有識別符號、期望識別符號)這樣的錯誤訊息;

2.如果將保留字用作變數名或函式名,那麼除非將來的瀏覽器實現了該保留字,否則很可能收不到任何錯誤訊息。當瀏覽器將其實現後,該單詞將被看做關鍵字,如此將出現關鍵字錯誤。