JavaScript 保留關鍵字

JavaScript保留關鍵字及危險變數名稱定義變數名稱需謹慎

#JavaScript 標準

所有的現代瀏覽器完全支援ECMAScript 3(ES3,JavaScript 的第三版,從1999 年開始)。

ECMAScript 4(ES4)未通過。

ECMAScript 5(ES5,2009 年發布),是 JavaScript 最新的官方版本。

隨著時間的推移,我們開始看到,所有的現代瀏覽器已經完全支援 ES5。


JavaScript 保留關鍵字

Javascript 的保留關鍵字不可以用作變數、標籤或函數名稱。有些保留關鍵字是當作 Javascript 以後擴充。

abstract    arguments    boolean    break    byte    

case    catch    char    delete    do    

double    else    enum*    eval    export*    

extends*    false    final    finally    float    

for    function    goto   if 1  int    interface    

let    long    native    new    null    

package private    protected    public    return    

short    static    super*    switch     true    

try    typeof    var    void    volatile    

while    with    yield   

#  

* 標記的關鍵字是ECMAScript5 中新增的。

JavaScript 物件、屬性和方法

您也應該避免使用JavaScript 內建的物件、屬性和方法的名稱作為Javascript 的變數或函數名稱:

Array    Date    eval    function  

##Infinity    isFinite    isNaN    isPrototypeOf    length    

Math    NaN     undefined    valueOf    

Java 保留關鍵字

JavaScript 經常與Java 一起使用。您應該避免使用一些Java 對象和屬性作為JavaScript 標識符:

getClass    java    JavaArray    javaClass    JavaObject    JavaPackage    

Windows 保留關鍵字

JavaScript 可以在HTML 外部使用。它可在許多其他應用程式中作為程式語言使用。

在HTML 中,您必須(為了可移植性,您也應該這麼做)避免使用HTML 和Windows 物件和屬性的名稱作為Javascript 的變數及函數名稱:

alert    all anchor    anchors    area    

assign    blur    button    checkbox    clearInterval   cle

o#arTimeout clo>     

constructor    crypto    decodeURI    decodeURIComponent    defaultStatus    

 

encodeURI    encodeURIComponent    escape    event    fileUpload    

focus    form    forms    frame    innerHeight    

innerWidth    layer    layers 一天 frames    frameRate    

hidden    history    image    images    offscreenBuffering    

##open outerHeight    outerWidth    

packages    pageXOffset    pageYOffset    parent    parseFloat   

 #.   

propertyIsEnum    radio    reset    screenX    screenY    

scroll    secure 問題##setTimeout    status    submit    taint    text    

textarea    top    unescape  

textarea    top    unescape   # untaint 句子#  window  #o#含||』避免使用HTML 事件句柄的名稱作為Javascript 的變數及函數名。

實例:

onblur    onclick    onerror    onfocus    

onkeydown    onkeypress    onkeyup#  ondownmouse#    onsubmit    

非標準JavaScript

除了保留關鍵字,在JavaScript 實作中也有一些非標準的關鍵字。

一個實例是 const 關鍵字,用來定義變數。 有些 JavaScript 引擎把 const 當作 var 的同義詞。另一些引擎則把 const 當作唯讀變數的定義。

Const 是 JavaScript 的擴充。 JavaScript 引擎支援它用在 Firefox 和 Chrome 中。但它並不是 JavaScript 標準 ES3 或 ES5 的組成部分。建議:不要使用它。

繼續學習
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <script type="text/javascript"> function foo(obj) { with (obj) { a = 2; } } var o1 = { a: 3 }; var o2 = { b: 3 }; foo(o1); console.log(o1.a); // 2 foo(o2); console.log( o2.a ); // undefined console.log( a ); // 2 </script> </head> <body> <p>请在浏览器中打开 F12 观察</p> </body> </html>