mozilla
您的搜索结果

    JavaScript参考文档

    关于此参考

    什么是 JavaScript?

    JavaScript® 是网景公司开发的面向对象的脚本语言,用在世界范围内被成千上万的网页和服务器程序中。网景的 JavaScript 是 ECMA-262 Edition 3 (ECMAScript) 标准脚本语言的超集,和发布的标准只有一些小小的不同。

    与流行的误解相反,JavaScript 并不是“解释性 Java”。简单来说,JavaScript 是一个动态脚本语言,支持 基于原型的 对象构造。其基本语法被设计地与 Java 和 C++ 接近,来减少学习语言所需要的新概念。语言结构,如条件语句(if)、循环(for,while)、分支(switch)、异常捕获(try...catch)等和这些语言一致或者很接近。

    JavaScript 既是一个 面向过程的语言 又是一个 面向对象的语言。在 JavaScript 中,通过在运行时给空对象附加方法和属性来创建对象,与编译语言如 C++ 和 Java 中常见的通过语法来定义类相反。对象构造后,它可以用作是创建相似对象的原型。

    JavaScript 的动态特性包括运行时构造对象、可变参数列表、函数变量、动态脚本执行(通过 eval)、对象内枚举(通过 for ... in)和源码恢复(JavaScript 程序可以将函数反编译回源代码)。

    JavaScript 中内部对象有 NumberStringBooleanDateRegExpMath

    如果您需要了解更多 JavaScript 编程信息,请参见下方的 JavaScript 资源 链接。

    有哪些 JavaScript 的实现?

    mozilla.org 上托管了两个 JavaScript 实现。首个 JavaScript 由网景公司的 Brendan Eich 创建,并不断地更新以符合 ECMA-262 Edition 5 及其之后的标准版本。这个引擎,名叫 SpiderMonkey 是由 C 语言开发的。而 Rhino 引擎,主要由 Norris Boyd(同样也是在网景公司)创建,则是一个 Java 语言开发的 JavaScript 实现。与 SpiderMonkey 类似,Rhino 符合 ECMA-262 Edition 3 标准。

    有很多优化技术如 TraceMonkey (Firefox 3.5)、JägerMonkey (Firefox 4) 和 IonMonkey 被添加到了 SpiderMonkey JavaScript 引擎。

    除了以上实现,还有其他一些流行的 JavaScript 引擎,如:

    • Google 的 V8,在 Google Chrome 浏览器和较新的 Opera 浏览器中使用。
    • JavaScriptCore (SquirrelFish/Nitro),被用在了一些 WebKit 浏览器如 Apple Safari。
    • Carakan,用在旧版本 Opera 中。
    • The Chakra 引擎,用在 Internet Explorer 中(尽管它实现的语言被正式地称作为“JScript”来避免商标问题)。

    每个 mozilla.org 的 JavaScript 引擎都提供了 API,程序可以调用它实现支持 JavaScript。目前最常见的 JavaScript 宿主环境是网页浏览器。浏览器一般通过 API 创建“宿主对象”,负责将 DOM DOM 反射到 JavaScript 中。

    另一个常见的 JavaScript 应用是作为服务端脚本语言。JavaScript 服务器提供宿主对象代表 HTTP 请求和响应,随后可以通过 JavaScript 程序来动态的生成 Web 页面。

    JavaScript 资源

    SpiderMonkey
    嵌入 SpiderMonkey(C 语言实现的 JavaScript)的相关信息。
    Rhino
    Rhino(Java 语言实现的 JavaScript)的相关信息。
    语言资源
    已经公布的 JavaScript 标准。
    重新认识 JavaScript
    JavaScript 指南JavaScript 参考

    全局对象

    函数与函数作用域

    语句

    This page was auto-generated because a user created a sub-page to this page.

    操作符与其他关键字


    该章节说明了Javascript语言所有的运算符,表达式和关键字.

    表达式和运算符分类

    左侧工具栏是按字母表排序的列表.

    主要表达式

    JavaScript中基本关键字和常用表达式.

    this
    this 关键字指向函数的执行上下文.
    function
    function 关键字定义了函数表达式.
    function*
    function* 关键字定义了一个 generator 函数表达式.
    yield
    暂停和恢复 generator 函数
    yield*
    委派给另外一个generator函数或可迭代的对象.
    []
    数组初始化/字面量语法.
    {}
    对象初始化/字面量语法.
    /ab+c/i
    正则表达式字面量语法.
    [for (x of y) x]
    Array comprehensions.
    (for (x of y) y)
    Generator comprehensions.
    ( )
    圆括号操作符.

    Left-hand-side expressions

    Left values are the destination of an assignment.

    Property accessors
    成员访问可以访问对象的属性或方法
    (object.property and object["property"]).
    new
    new 运算符创建了构造函数实例.
    super
    super 关键字调用父类的构造器.
    ...obj
    The spread operator allows an expression to be expanded in places where multiple arguments (for function calls) or multiple elements (for array literals) are expected.

    自增运算和自减运算

    前置/后置自增运算符和前置/后置自减运算符.

    A++
    后置自增运算符.
    A--
    后置自减运算符.
    ++A
    前置自增运算符.
    --A
    前置自减运算符.

    一元运算符

    一元运算符只有一个操作数.

    delete
    delete 运算符用来删除对象的属性.
    void
    void 运算符表示表达式放弃返回值.
    typeof
    typeof 运算符用来判断给定对象的类型.
    +
    一元加运算符将操作转换为Number类型.
    -
    一元减运算符将操作转换为Number类型并取反.
    ~
    按位非运算符.
    !
    逻辑非运算符.

    Arithmetic operators

    Arithmetic operators take numerical values (either literals or variables) as their operands and return a single numerical value.

    +
    加法运算符.
    -
    减法运算符.
    /
    除法运算符.
    *
    乘法运算符.
    %
    取模运算符.

    关系运算符

    A comparison operator compares its operands and returns a Boolean value based on whether the comparison is true.

    in
    in运算符用来判断对象是否拥有给定属性.
    instanceof
    instanceof 运算符判断一个对象是否是另一个对象的实例.
    <
    小于运算符
    >
    大于运算符.
    <=
    小于等于运算符.
    >=
    大于等于运算符.

     

    The result of evaluating an equality operator is always of type Boolean based on whether the comparison is true.

    ==
    相等 运算符.
    !=
    不等 运算符.
    ===
    全等 运算符.
    !==
    非全等 运算符.

    位移运算符

    Operations to shift all bits of the operand.

    <<
    Bitwise left shift operator.
    >>
    Bitwise right shift operator.
    >>>
    Bitwise unsigned right shift operator.

    二元按位运算符

    Bitwise operators treat their operands as a set of 32 bits (zeros and ones) and return standard JavaScript numerical values.

    &
    Bitwise AND.
    |
    Bitwise OR.
    ^
    Bitwise XOR.

    二元逻辑运算符

    逻辑运算符是典型的使用boolean(逻辑)值, and when they are, they return a boolean value.

    &&
    逻辑与.
    ||
    逻辑或.

    Conditional (ternary) operator

    (condition ? ifTrue : ifFalse)

    The conditional operator returns one of two values based on the logical value of the condition.

    Assignment operators

    An assignment operator assigns a value to its left operand based on the value of its right operand.

    =
    Assignment operator.
    *=
    Multiplication assignment.
    /=
    Division assignment.
    %=
    Remainder assignment.
    +=
    Addition assignment.
    -=
    Subtraction assignment
    <<=
    Left shift assignment.
    >>=
    Right shift assignment.
    >>>=
    Unsigned right shift assignment.
    &=
    Bitwise AND assignment.
    ^=
    Bitwise XOR assignment.
    |=
    Bitwise OR assignment.
    [a, b] = [1, 2]
    {a, b} = {a:1, b:2}

    Destructuring assignment allows you to assign the properties of an array or object to variables using syntax that looks similar to array or object literals.

    逗号操作符

    ,
    The comma operator allows multiple expressions to be evaluated in a single statement and returns the result of the last expression.

    非标准化特性

    Legacy generator function
    The function keyword can be used to define a legacy generator function inside an expression. To make the function a legacy generator, the function body should contains at least one yield expression.
    Expression closures
    The expression closure syntax is a shorthand for writing simple function.

    规范

    Specification Status Comment
    ECMAScript 1st Edition. Standard Initial definition.
    ECMAScript 5.1 (ECMA-262)
    Expressions
    Standard  
    ECMAScript 6 (ECMA-262)
    ECMAScript Language: Expressions
    Draft New: Spread operator, destructuring assignment, super keyword, Array comprehensions, Generator comprehensions

    相关链接

    运算符优先级

    注释

    E4X (扩展)

    全局语句:

    全局函数:

    全局构造函数:

    附录一 - 保留关键词

    附录二 - 过时的功能

    文档标签和贡献者

    此页面的贡献者有: ziyunfei, kovchou, CHiENiUS, teoli
    最后编辑者: teoli,
    隐藏侧边栏