1. JScript 在运行代码前处理变量声明,所以声明是位于一个条件块中还是其他某些结构中无关紧要。JScript 找到所有的变量后立即运行函数中的代码。如果变量是在函数中显式声明的 — 也就是说,如果它出现于赋值表达式的左边但没有用 var 声明 — 那么将把它创建为全局变量。
如果在 var 语句中没有初始化变量,变量自动取 JScript 值 undefined。尽管并不安全,但声明语句中忽略 var 关键字是合法的 JScript 语法。这时,JScript 解释器给予变量全局范围的可见度。当在过程级中声明一个变量时,它不能用于全局范围;这种情况下,变量声明必须用 var 关键字。
2. Jscript 保留字
Jscript 有一些保留字不能在标识符中使用。保留字对 Jscript 语言有特殊的含义,它们是语言语法的一部分。使用保留字在加载脚本的时候将产生编译错误。
Jscript 还有一些留作将来使用的保留字。这些字不是现在的 Jscript 语言的一部分,然而它们是为将来的使用保留的。
保留词
| break | delete | function | return | typeof |
| case | do | if | switch | var |
| catch | else | in | this | void |
| continue | false | instanceof | throw | while |
| debugger | finally | new | true | with |
| default | for | null | try |
为将来保留的词
| abstract | double | goto | native | static |
| boolean | enum | implements | package | super |
| byte | export | import | private | synchronized |
| char | extends | int | protected | throws |
| class | final | interface | public | transient |
| const | float | long | short | volatile |
当选择标识符时避免使用已经在内部 Jscript 对象或函数中使用的词,如 String 或 parseInt。
3. 注意访问对象属性的两种方法的重要差异。
| 运算符 | 属性名称作为 | 对属性名称的处理 |
|---|---|---|
| 点“.” | 标识符 | 不能作为数据处理 |
| 索引“[]” | 字符串文字 | 能被作为数据处理 |
浙公网安备 33010602011771号