JavaScript基本概念A

  • 简介

如果需要了解这些概念, 您应该熟悉 JS 的基本知识。

  • 弱类型

弱类型语言 是相对强类型语言来说的在强类型语言中,变量类型有多种,例如int char float boolean 等不同的类型相互转换有时需要强制转换,而javascript只有一种类型var ,为变量赋值时会自动判断类型并进行转换所以javascript是弱语言就体现在变量定义类型 var 上了 。

  • 经常使用 ‘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
10
10

猜你喜欢

转载自www.cnblogs.com/lilunjia/p/8966294.html