一、基本知识
1、ECMAScript中的语句以一个分号结尾;如果省略分号,则由解析器确定语句的结尾。虽然语句结尾的分号不是必需的,建议我们任何时候都不要省略它。加上这个分号可以避免很多错误,也会在某些情况下增进代码的性能,因为这样解析器就不必再花时间推测应该在哪里插入分号了。
2、虽然条件控制语句(如if)只在执行多条语句的情况下才要求使用代码块,但最佳实践是始终在控制语句中使用代码块,即使代码块中只有一条语句,这样可以让编码意图更加清晰,也能降低修改代码时出错的几率。
if(true){
Log.i("rx","测试测试"); //推荐使用
}
if(true) //有效但容易出错,不推荐使用
Log.i("rx","测试测试");
3、可以使用一条语句定义多个变量。如:var a=1,b=2;
二、数据类型
1、ECMAScript有六种数据类型:
基本数据类型:Undefined、Null、Boolean、Number、String
复杂数据类型:Object
2、typeof:用于检测给定变量的数据类型(因为ECMAScript是松散类型的)。typeof操作符的操作数可以是变量,也可以是变量。typeof是一个操作符而不是函数。
3、Undefined:Undefined类型只有一个值undefined,在声明了变量但未对其初始化的时候,这个变量的值就是undefined。需要注意的是对未初始化和未声明的变量执行typeof操作符都返回undefined值。
4、Null:Null类型只有一个值null。如果定义的变量准备在将来用于保存对象,最好将该变量初始化为null。使用typeof操作符检测null值会返回"object"。
let a=null;
console.log("*********"+typeof(a)); //打印结果:object
5、Boolean:Boolean类型有两个字面值:true和false。在ECMAScript中,所有类型的值都有与这两个Boolean值等价的值。要将一个值转换为其对应的Boolean值,可以调用转型函数Boolean().
数据类型 | 转换为true值 | 转换为false值 |
---|---|---|
Boolean | true | false |
String | 任何非空字符串 | ""(空字符串) |
Number | 非零数字 | 0和NaN |
Object | 任何对象 | null |
Undefined | 不适用 | undefined |