JavaScript 保留关键... 登录

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    class*    const    

continue    debugger    default    delete    do    

double    else    enum*    eval    export*    

extends*    false    final    finally    float    

for    function    goto    if    implements    

import*    in    instanceof    int    interface    

let    long    native    new    null    

package    private    protected    public    return    

short    static    super*    switch    synchronized    

this    throw    throws    transient    true    

try    typeof    var    void    volatile    

while    with    yield    

* 标记的关键字是 ECMAScript5 中新添加的。


JavaScript 对象、属性和方法

您也应该避免使用 JavaScript 内置的对象、属性和方法的名称作为 Javascript 的变量或函数名:

Array    Date    eval    function    hasOwnProperty    

Infinity    isFinite    isNaN    isPrototypeOf    length    

Math    NaN    name    Number    Object    

prototype    String    toString    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    

clearTimeout    clientInformation    close    closed    confirm    

constructor    crypto    decodeURI    decodeURIComponent    defaultStatus    

document    element    elements    embed    embeds    

encodeURI    encodeURIComponent    escape    event    fileUpload    

focus    form    forms    frame    innerHeight    

innerWidth    layer    layers    link    location    

mimeTypes    navigate    navigator    frames    frameRate    

hidden    history    image    images    offscreenBuffering    

open    opener    option    outerHeight    outerWidth    

packages    pageXOffset    pageYOffset    parent    parseFloat    

parseInt    password    pkcs11    plugin    prompt    

propertyIsEnum    radio    reset    screenX    screenY    

scroll    secure    select    self    setInterval    

setTimeout    status    submit    taint    text    

textarea    top    unescape    untaint    window    


HTML 事件句柄

除此之外,您还应该避免使用 HTML 事件句柄的名称作为 Javascript 的变量及函数名。

实例:

onblur    onclick    onerror    onfocus    

onkeydown    onkeypress    onkeyup    onmouseover    

onload    onmouseup    onmousedown    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>
提交 重置代码
章节 评论 笔记 课件
  • 取消 回复 发送
  • 取消 发布笔记 发送