[Previous] [Next]
[First] [Last]
JavaScript Language Specification
Prelminary Draft
Brendan Eich
C. Rand Mckinney
JavaScript 1.1
11/18/96
- 1.1 Implementation Versions
- 1.2 Grammar Notation
- 1.3 Example Programs
- 1.4 References
- 2.1 Character Set
- 2.2 Lexical Translations
- 2.3 Line Terminators
- 2.4 Input Elements and Tokens
- 2.4.1 White Space
- 2.4.2 Comments
- 2.5 Keywords
- 2.6 Identifiers
- 2.7 Literals
- 2.7.1 Integer Literals
- 2.7.2 Floating-Point Literals
- 2.7.3 Boolean Literals
- 2.7.4 String Literals
- 2.7.5 Escape Sequences for String Literals
- 2.7.6 The Null Literal
- 2.8 Separators
- 2.9 Operators
- 3.1 Types
- 3.1.1 Type Names
- 3.1.2 Type Conversion
- 3.1.3 The toString method
- 3.1.4 The valueOf Method
- 3.2 Primitive Types and Values
- 3.2.1 Boolean Types and Values
- 3.2.2 Boolean Operations
- 3.2.3 Numeric Types and Values
- 3.2.4 Numeric Operations
- 3.2.4.1 Bitwise integer operations
- 3.2.5 The Undefined Type
- 3.3 Reference Types and Values
- 3.3.1 String Types and Operations
- 3.3.2 Object Types and Operations
- 3.3.2.1 The Null Object
- 3.3.3 Function Types
- 3.4 Variables
- 3.4.1 Variable Lifetime
- 3.4.2 Initial Values of Variables
- 3.5 Names
- 3.5.1 Scope Resolution
- 3.5.2 Declaration and Visibility
- 3.5.3 Hiding Names
- 4.1 Evaluation, Denotation and Result
- 4.2 Evaluation Order
- 4.3 Primary Expressions
- 4.3.1 Literals
- 4.3.2 this
- 4.4 Member Expressions
- 4.4.1 Property Expression Evaluation
- 4.4.2 Function Call Evaluation
- 4.4.2.1 Compute Target Reference
- 4.4.2.2 Evaluate Arguments
- 4.4.2.3 Locate Function to Call
- 4.5 Unary Expressions
- 4.5.1 Logical Complement Operator !
- 4.5.2 Bitwise Complement Operator ~
- 4.5.3 Unary Minus Operator -
- 4.5.4 Prefix Increment Operator ++
- 4.5.5 Prefix Decrement Operator --
- 4.5.6 Postfix Increment Operator ++
- 4.5.7 Postfix Decrement Operator --
- 4.5.8 The new operator
- 4.5.9 The delete operator
- 4.5.10 The typeof operator
- 4.5.11 The void operator
- 4.6 Multiplicative Operators
- 4.6.1 Multiplication Operator *
- 4.6.2 Division Operator /
- 4.6.3 Remainder Operator %
- 4.7 Additive Operators
- 4.7.1 String Concatenation Operator +
- 4.7.1.1 String Conversion
- 4.7.1.2 Examples of String Concatenation
- 4.7.2 Additive Operators (+ and -) for Numeric
Types
- 4.8 Shift Operators
- 4.9 Relational Operators
- 4.9.1 String Comparison Operators
- 4.9.2 Numerical Comparison Operators
- 4.10 Equality Operators
- 4.10.1 Reference Equality Operators == and
!=
- 4.10.2 String Equality Operators == and
!=
- 4.10.3 Numerical Equality Operators == and
!=
- 4.11 Bitwise Logical Operators
- 4.12 Conditional-And Operator
- 4.13 Conditional-Or Operator
- 4.14 Conditional Operator ? :
- 4.15 Assignment Operators
- 4.15.1 Simple Assignment Operator =
- 4.15.2 Compound Assignment Operators
- 4.16 Comma Operator
- 5.1 Functions
- 5.1.1 Definition
- 5.1.2 Call
- 5.1.3 The caller property
- 5.1.4 The arguments array
- 5.2 This
- 5.3 Constructor Functions
- 5.3.1 Object prototypes
- 5.3.2 Defining methods
- 5.4 Object Creation
- 6.1 Normal and Abrupt Completion of Statements
- 6.2 Blocks
- 6.3 Variable Declaration Statements
- 6.4 Statements
- 6.4.1 The Empty Statement
- 6.4.2 The if Statement
- 6.4.3 The while Statement
- 6.4.3.1 Abrupt Completion
- 6.4.4 The for Statement
- 6.4.4.1 Initialization
- 6.4.4.2 Iteration
- 6.4.4.3 Abrupt Completion
- 6.4.5 The break Statement
- 6.4.6 The continue Statement
- 6.4.7 The return Statement
- 6.4.8 The with Statement
- 6.4.9 The for/in Statement
- 6.4.10 Function Definition Statement
- 7.1 Built-in functions
- 7.1.1 eval
- 7.1.2 parseInt
- 7.1.3 parseFloat
- 7.1.4 escape
- 7.1.5 unescape
- 7.2 Array Object
- 7.2.1 Constructors
- 7.2.2 Properties
- 7.2.2.1 length
- 7.2.3 Methods
- 7.2.3.1 join
- 7.2.3.2 reverse
- 7.2.3.3 sort
- 7.3 Boolean Object
- 7.3.1 Constructors
- 7.3.2 Properties
- 7.3.3 Methods
- 7.4 Date Object
- 7.4.1 Constructors
- 7.4.2 Properties
- 7.4.3 Methods
- 7.4.3.1 parse
- 7.4.3.2 setDate
- 7.4.3.3 setHours
- 7.4.3.4 setMinutes
- 7.4.3.5 setMonth
- 7.4.3.6 setSeconds
- 7.4.3.7 setTime
- 7.4.3.8 setYear
- 7.4.3.9 toGMTString
- 7.4.3.10 toLocaleString
- 7.4.3.11 UTC
- 7.5 Math Object
- 7.5.1 Constructors
- 7.5.2 Properties
- 7.5.2.1 E
- 7.5.2.2 LN2
- 7.5.2.3 LN10
- 7.5.2.4 LOG2E
- 7.5.2.5 LOG10E
- 7.5.2.6 PI
- 7.5.2.7 SQRT1_2
- 7.5.2.8 SQRT2
- 7.5.3 Methods
- 7.5.3.1 abs
- 7.5.3.2 acos
- 7.5.3.3 asin
- 7.5.3.4 atan
- 7.5.3.5 atan2
- 7.5.3.6 ceil
- 7.5.3.7 cos
- 7.5.3.8 exp
- 7.5.3.9 log
- 7.5.3.10 max
- 7.5.3.11 min
- 7.5.3.12 pow
- 7.5.3.13 random
- 7.5.3.14 round
- 7.5.3.15 sin
- 7.5.3.16 sqrt
- 7.5.3.17 tan
- 7.6 Number Object
- 7.6.1 Constructors
- 7.6.2 Properties
- 7.6.2.1 MAX_VALUE
- 7.6.2.2 MIN_VALUE
- 7.6.2.3 NaN
- 7.6.3 Methods
- 7.7 String Object
- 7.7.1 Constructors
- 7.7.2 Properties
- 7.7.2.1 length
- 7.7.3 Methods
- 7.7.3.1 indexOf
- 7.7.3.2 lastIndexOf
- 7.7.3.3 substring
- 7.7.3.4 charAt
- 7.7.3.5 toLowerCase
- 7.7.3.6 toUpperCase
- 7.7.3.7 split
[Previous] [Next]
[First] [Last]