1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320
|
<?xml version="1.0" encoding="utf-8"?>
<esSpec name="ECMA-262" version="5">
<sec id="7" name="Lexical Conventions">
<sec id="7.0" name="Introduction"/>
<sec id="7.1" name="Unicode Format-Control Characters"/>
<sec id="7.2" name="White Space"/>
<sec id="7.3" name="Line Terminators"/>
<sec id="7.4" name="Comments"/>
<sec id="7.5" name="Tokens"/>
<sec id="7.6" name="Identifier Names and Identifiers">
<sec id="7.6.1" name="Reserved Words"/>
</sec>
<sec id="7.7" name="Punctuators"/>
<sec id="7.8" name="Literals">
<sec id="7.8.1" name="Null Literals"/>>
<sec id="7.8.2" name="Boolean Literals"/>
<sec id="7.8.3" name="Numeric Literals"/>
<sec id="7.8.4" name="String Literals"/>
<sec id="7.8.5" name="Regular Expression Literals"/>
</sec>
<sec id="7.9" name="Automatic Semicolon Insertion">
<sec id="7.9.1" name="Rules of Automatic Semicolon Insertion"/>
<sec id="7.9.2" name="Examples of Automatic Semicolon Insertion"/>
</sec>
</sec>
<sec id="8" name="Types">
<sec id="8.0" name="Introduction"/>
<sec id="8.1" name="The Undefined Type"/>
<sec id="8.2" name="The Null Type"/>
<sec id="8.3" name="The Boolean Type"/>
<sec id="8.4" name="The String Type"/>
<sec id="8.5" name="The Number Type"/>
<sec id="8.6" name="The Object Type">
<sec id="8.6.1" name="Property Attributes"/>
<sec id="8.6.2" name="Object Internal Properties and Methods"/>
</sec>
<sec id="8.7" name="The Reference Specification Type">
<sec id="8.7.1" name="GetValue (V)"/>
<sec id="8.7.2" name="PutValue (V, W)"/>
</sec>
<sec id="8.8" name="The List Specification Type"/>
<sec id="8.9" name="The Completion Specification Type"/>
<sec id="8.10" name="The Property Descriptor and Property Identifier Specification Types">
<sec id="8.10.1" name="IsAccessorDescriptor ( Desc )"/>
<sec id="8.10.2" name="IsDataDescriptor ( Desc )"/>
<sec id="8.10.3" name="IsGenericDescriptor ( Desc )"/>
<sec id="8.10.4" name="FromPropertyDescriptor ( Desc )"/>
<sec id="8.10.5" name="ToPropertyDescriptor ( Obj )"/>
</sec>
<sec id="8.11" name="The Lexical Environment and Environment Record Specification Types"/>
<sec id="8.12" name="Algorithms for Object Internal Methods">
<sec id="8.12.1" name="[[GetOwnProperty]] (P)"/>
<sec id="8.12.2" name="[[GetProperty]] (P)"/>
<sec id="8.12.3" name="[[Get]] (P)"/>
<sec id="8.12.4" name="[[CanPut]] (P)"/>
<sec id="8.12.5" name="[[Put]] ( P, V, Throw )"/>
<sec id="8.12.6" name="[[HasProperty]] (P)"/>
<sec id="8.12.7" name="[[Delete]] (P, Throw)"/>
<sec id="8.12.8" name="[[DefaultValue]] (hint)"/>
<sec id="8.12.9" name="[[DefineOwnProperty]] (P, Desc, Throw)"/>
</sec>
</sec>
<sec id="9" name="Type Conversion and Testing">
<sec id="9.0" name="Introduction"/>
<sec id="9.1" name="ToPrimitive"/>
<sec id="9.2" name="ToBoolean"/>
<sec id="9.3" name="ToNumber">
<sec id="9.3.1" name="ToNumber Applied to the String Type"/>
</sec>
<sec id="9.4" name="ToInteger"/>
<sec id="9.5" name="ToInt32: (Signed 32 Bit Integer)"/>
<sec id="9.6" name="ToUint32: (Unsigned 32 Bit Integer)"/>
<sec id="9.7" name="ToUint16: (Unsigned 16 Bit Integer)"/>
<sec id="9.8" name="ToString">
<sec id="9.8.1" name="ToString Applied to the Number Type"/>
</sec>
<sec id="9.9" name="ToObject"/>
<sec id="9.10" name="CheckObjectCoercible"/>
<sec id="9.11" name="IsCallable"/>
<sec id="9.12" name="The SameValue Algorithm"/>
</sec>
<sec id="10" name="Executable Code and Execution Contexts">
<sec id="10.0" name="Introduction"/>
<sec id="10.1" name="Types of Executable Code">
<sec id="10.1.1" name="Strict Mode Code"/>
</sec>
<sec id="10.2" name="Lexical Environments">
<sec id="10.2.1" name="Environment Records"/>
<sec id="10.2.2" name="Lexical Environment Operations"/>
<sec id="10.2.3" name="The Global Environment"/>
</sec>
<sec id="10.3" name="Execution Contexts">
<sec id="10.3.1" name="Identifier Resolution"/>
</sec>
<sec id="10.4" name="Establishing an Execution Context">
<sec id="10.4.1" name="Entering Global Code"/>
<sec id="10.4.2" name="Entering Eval Code"/>
<sec id="10.4.3" name="Entering Function Code"/>
</sec>
<sec id="10.5" name="Declaration Binding Instantiation"/>
<sec id="10.6" name="Arguments Object"/>
</sec>
<sec id="11" name="Expressions">
<sec id="11.0" name="Introduction"/>
<sec id="11.1" name="Primary Expressions">
<sec id="11.1.1" name="The this Keyword"/>
<sec id="11.1.2" name="Identifier Reference"/>
<sec id="11.1.3" name="Literal Reference"/>
<sec id="11.1.4" name="Array Initialiser"/>
<sec id="11.1.5" name="Object Initialiser"/>
<sec id="11.1.6" name="The Grouping Operator"/>
</sec>
<sec id="11.2" name="Left-Hand-Side Expressions">
<sec id="11.2.1" name="Property Accessors"/>
<sec id="11.2.2" name="The new Operator"/>
<sec id="11.2.3" name="Function Calls"/>
<sec id="11.2.4" name="Argument Lists"/>
<sec id="11.2.5" name="Function Expressions"/>
</sec>
<sec id="11.3" name="Postfix Expressions">
<sec id="11.3.1" name="Postfix Increment Operator"/>
<sec id="11.3.2" name="Postfix Decrement Operator"/>
</sec>
<sec id="11.4" name="Unary Operators">
<sec id="11.4.1" name="The delete Operator"/>
<sec id="11.4.2" name="The void Operator"/>
<sec id="11.4.3" name="The typeof Operator"/>
<sec id="11.4.4" name="Prefix Increment Operator"/>
<sec id="11.4.5" name="Prefix Decrement Operator"/>
<sec id="11.4.6" name="Unary + Operator"/>
<sec id="11.4.7" name="Unary - Operator"/>
<sec id="11.4.8" name="Bitwise NOT Operator ( ~ )"/>
<sec id="11.4.9" name="Logical NOT Operator ( ! )"/>
</sec>
<sec id="11.5" name="Multiplicative Operators">
<sec id="11.5.1" name="Applying the * Operator"/>
<sec id="11.5.2" name="Applying the / Operator"/>
<sec id="11.5.3" name="Applying the % Operator"/>
</sec>
<sec id="11.6" name="Additive Operators">
<sec id="11.6.1" name="The Addition operator ( + )"/>
<sec id="11.6.2" name="The Subtraction Operator ( - )"/>
<sec id="11.6.3" name="Applying the Additive Operators to Numbers"/>
</sec>
<sec id="11.7" name="Bitwise Shift Operators">
<sec id="11.7.1" name="The Left Shift Operator"/>
<sec id="11.7.2" name="The Signed Right Shift Operator ( >> )"/>
<sec id="11.7.3" name="The Unsigned Right Shift Operator ( >>> )"/>
</sec>
<sec id="11.8" name="Relational Operators">
<sec id="11.8.1" name="The Less-than Operator"/>
<sec id="11.8.2" name="The Greater-than Operator"/>
<sec id="11.8.3" name="The Less-than-or-equal Operator"/>
<sec id="11.8.4" name="The Greater-than-or-equal Operator"/>
<sec id="11.8.5" name="The Abstract Relational Comparison Algorithm"/>
<sec id="11.8.6" name="The instanceof operator"/>
<sec id="11.8.7" name="The in operator"/>
</sec>
<sec id="11.9" name="Equality Operators">
<sec id="11.9.1" name="The Equals Operator ( == )"/>
<sec id="11.9.2" name="The Does-not-equals Operator ( != )"/>
<sec id="11.9.3" name="The Abstract Equality Comparison Algorithm"/>
<sec id="11.9.4" name="The Strict Equals Operator ( === )"/>
<sec id="11.9.5" name="The Strict Does-not-equal Operator ( !== )"/>
<sec id="11.9.6" name="The Strict Equality Comparison Algorithm"/>
</sec>
<sec id="11.10" name="Binary Bitwise Operators"/>
<sec id="11.11" name="Binary Logical Operators"/>
<sec id="11.12" name="Conditional Operator ( ? : )"/>
<sec id="11.13" name="Assignment Operators">
<sec id="11.13.1" name="Simple Assignment ( = )"/>
<sec id="11.13.2" name="Compound Assignment ( op= )"/>
</sec>
<sec id="11.14" name="Comma Operator ( , )"/>
</sec>
<sec id="12" name="Statements">
<sec id="12.0" name="Introduction"/>
<sec id="12.1" name="Block"/>
<sec id="12.2" name="Variable Statement">
<sec id="12.2.1" name="Strict Mode Restrictions"/>
</sec>
<sec id="12.3" name="Empty Statement"/>
<sec id="12.4" name="Expression Statement"/>
<sec id="12.5" name="The if Statement"/>
<sec id="12.6" name="Iteration Statements">
<sec id="12.6.1" name="The do-while Statement"/>
<sec id="12.6.2" name="The while Statement"/>
<sec id="12.6.3" name="The for Statement"/>
<sec id="12.6.4" name="The for-in Statement"/>
</sec>
<sec id="12.7" name="The continue Statement"/>
<sec id="12.8" name="The break Statement"/>
<sec id="12.9" name="The return Statement"/>
<sec id="12.10" name="The with Statement">
<sec id="12.10.1" name="Strict Mode Restrictions"/>
</sec>
<sec id="12.11" name="The switch Statement"/>
<sec id="12.12" name="Labelled Statements"/>
<sec id="12.13" name="The throw Statement"/>
<sec id="12.14" name="The try Statement">
<sec id="12.14.1" name="Strict Mode Restrictions">
</sec>
<sec id="12.15" name="The debugger statement"/>
</sec>
</sec>
<sec id="13" name="Function Definition">
<sec id="13.0" name="Introduction"/>
<sec id="13.1" name="Strict Mode Restrictions"/>
<sec id="13.2" name="Creating Function Objects">
<sec id="13.2.1" name="[[Call]]"/>
<sec id="13.2.2" name="[[Construct]]"/>
<sec id="13.2.3" name="The [[ThrowTypeError]] Function Object"/>
</sec>
</sec>
<sec id="14" name="Program">
<sec id="14.0" name="Introduction"/>
<sec id="14.1" name="Directive Prologues and the Use Strict Directive"/>
</sec>
<sec id="15" name="Standard Built-in ECMAScript Objects">
<sec id="15.0" name="Introduction"/>
<sec id="15.1" name="The Global Object">
<sec id="15.1.1" name="Value Properties of the Global Object"/>
<sec id="15.1.2" name="Function Properties of the Global Object"/>
<sec id="15.1.3" name="URI Handling Function Properties"/>
<sec id="15.1.4" name="Constructor Properties of the Global Object"/>
<sec id="15.1.5" name="Other Properties of the Global Object"/>
</sec>
<sec id="15.2" name="Object Objects">
<sec id="15.2.1" name="The Object Constructor Called as a Function"/>
<sec id="15.2.2" name="The Object Constructor"/>
<sec id="15.2.3" name="Properties of the Object Constructor"/>
<sec id="15.2.4" name="Properties of the Object Prototype Object"/>
<sec id="15.2.5" name="Properties of Object Instances"/>
</sec>
<sec id="15.3" name="Function Objects">
<sec id="15.3.1" name="The Function Constructor Called as a Function"/>
<sec id="15.3.2" name="The Function Constructor"/>
<sec id="15.3.3" name="Properties of the Function Constructor"/>
<sec id="15.3.4" name="Properties of the Function Prototype Object"/>
<sec id="15.3.5" name="Properties of Function Instances"/>
</sec>
<sec id="15.4" name="Array Objects">
<sec id="15.4.1" name="The Array Constructor Called as a Function"/>
<sec id="15.4.2" name="The Array Constructor"/>
<sec id="15.4.3" name="Properties of the Array Constructor"/>
<sec id="15.4.4" name="Properties of the Array Prototype Object"/>
<sec id="15.4.5" name="Properties of Array Instances"/>
</sec>
<sec id="15.5" name="String Objects">
<sec id="15.5.1" name="The String Constructor Called as a Function"/>
<sec id="15.5.2" name="The String Constructor"/>
<sec id="15.5.3" name="Properties of the String Constructor"/>
<sec id="15.5.4" name="Properties of the String Prototype Object"/>
<sec id="15.5.5" name="Properties of String Instances"/>
</sec>
<sec id="15.6" name="Boolean Objects">
<sec id="15.6.1" name="The Boolean Constructor Called as a Function"/>
<sec id="15.6.2" name="The Boolean Constructor"/>
<sec id="15.6.3" name="Properties of the Boolean Constructor"/>
<sec id="15.6.4" name="Properties of the Boolean Prototype Object"/>
<sec id="15.6.5" name="Properties of Boolean Instances"/>
</sec>
<sec id="15.7" name="Number Objects">
<sec id="15.7.1" name="The Number Constructor Called as a Function"/>
<sec id="15.7.2" name="The Number Constructor"/>
<sec id="15.7.3" name="Properties of the Number Constructor"/>
<sec id="15.7.4" name="Properties of the Number Prototype Object"/>
<sec id="15.7.5" name="Properties of Number Instances"/>
</sec>
<sec id="15.8" name="The Math Object">
<sec id="15.8.1" name="Value Properties of the Math Object"/>
<sec id="15.8.2" name="Function Properties of the Math Object"/>
</sec>
<sec id="15.9" name="Date Objects">
<sec id="15.9.1" name="Overview of Date Objects and Definitions of Abstract Operators"/>
<sec id="15.9.2" name="The Date Constructor Called as a Function"/>
<sec id="15.9.3" name="The Date Constructor"/>
<sec id="15.9.4" name="Properties of the Date Constructor"/>
<sec id="15.9.5" name="Properties of the Date Prototype Object"/>
<sec id="15.9.6" name="Properties of Date Instances"/>
</sec>
<sec id="15.10" name="RegExp (Regular Expression) Objects">
<sec id="15.10.1" name="Patterns"/>
<sec id="15.10.2" name="Pattern Semantics"/>
<sec id="15.10.3" name="The RegExp Constructor Called as a Function"/>
<sec id="15.10.4" name="The RegExp Constructor"/>
<sec id="15.10.5" name="Properties of the RegExp Constructor"/>
<sec id="15.10.6" name="Properties of the RegExp Prototype Object"/>
<sec id="15.10.7" name="Properties of RegExp Instances"/>
</sec>
<sec id="15.11" name="Error Objects">
<sec id="15.11.1" name="The Error Constructor Called as a Function"/>
<sec id="15.11.2" name="The Error Constructor"/>
<sec id="15.11.3" name="Properties of the Error Constructor"/>
<sec id="15.11.4" name="Properties of the Error Prototype Object"/>
<sec id="15.11.5" name="Properties of Error Instances"/>
<sec id="15.11.6" name="Native Error Types Used in This Standard"/>
<sec id="15.11.7" name="NativeError Object Structure"/>
</sec>
<sec id="15.12" name="The JSON Object">
<sec id="15.12.1" name="The JSON Grammar"/>
<sec id="15.12.2" name="parse ( text [ , reviver ] )"/>
<sec id="15.12.3" name="stringify ( value [ , replacer [ , space ] ] )"/>
</sec>
</sec>
<sec id="B" name="Annex B (informative) Compatibility">
<sec id="B.1" name="Additional Syntax">
<sec id="B.1.1" name="Numeric Literals"/>
<sec id="B.1.2" name="String Literals"/>
</sec>
<sec id="B.2" name="Additional Properties">
<sec id="B.2.1" name="escape"/>
<sec id="B.2.2" name="unescape"/>
<sec id="B.2.3" name="String.prototype.substr"/>
<sec id="B.2.4" name="Date.prototype.getYear"/>
<sec id="B.2.5" name="Date.prototype.setYear"/>
<sec id="B.2.6" name="Date.prototype.toGMTString"/>
</sec>
</sec>
</esSpec>
|