- 简介
如果需要了解这些概念, 您应该熟悉 JS 的基本知识。
- 弱类型
在也无需绞尽脑汁觉得到底采用 float、double,int 还是 short 或是 long 还是 String。只需这样定义变量 – var my_variable; 。
- 经常使用 ‘use strict’;
这行代码看起来像是字符串,而且也没有赋值给任何变量,但其实它是一个编译指示(pragma),用于告诉支持的JavaScript引擎切换到严格模式。这是为不破坏ECMAScript 3语法而特意选定的语法。
在函数内部的上方包含这条编译指示,也可以指定函数在严格模式下执行。
function () {
'use strict';
return a;
}
上面的例子在 strict模式下会报出异常,程序并没有创建一个全局的变量 a ,而在非strict 模式下则会悄悄的创建一个全局的变量 a。
- 分号不是可有可无的
ECMAScript中的语句以一个分号结尾;如果省略分号,则由解析器确定语句的结尾,如下例所示:
var sum = a + b //正确,但不推荐
var diff = a-b; //正确,k推荐
虽然语句结尾的分号不是必需的,但我们建议任何时候都不要省略它。
- 作用域
与 c、c++ 或 Java 不同, JS 只有两个简单的作用域类型 - 全局级别和函数界别。所以, 在 JS 中, 如果, if, while ,for 不定义作用域块。代码如下:
function () {
if (someCondition) {
var a;
}
}
和下面的代码其实是一样的
function () {
var a;
if (someCondition) {
// ...
}
}
还有就是变量一般都定义在最上面
function test() {
'use strict';
console.log(a);
console.log(b);
//console.log(x);
var a = 10, b = 10;
console.log(a);
console.log(b);
}
test();
输出如下结果:
undefined
undefined