一、值和类型及运算
JavaScript中的六种基本值类型
数字(number)、字符串(string)、布尔值(boolean)、对象(object)、函数(function)、未定义类型(undefined)。
NaN
NaN是number类型,但我们用它来表示 “非数值” 。这样来理解它:对于一个期望返回number类型值的运算,但js却对表达式中的运算过程很困惑,于是js就认为强行计算出来的number是不精确或毫无意义的,于是就返回了一个NaN(not a number)给你,用来告诉你这个运算是非法的,结果是不精确的或毫无意义的。
在js中只有一个值不等于其自身,这个值就是NaN!
console.log(typeof NaN); console.log("string" - 1) console.log(NaN == NaN)
-------------------------------------------
number
NaN
false
变量
我们可以把变量想象成许多的触须,而不是一个箱子。变量中并不包含值,而是会引用这些值。
字符串
在对字符串进行比较时,JavaScript按照从左到右逐个比较每个字符对应的ASCII码值。
强制类型转换
当运算符作用在错误类型的值上时,JavaScript会自动将其转换成自己期望的值,这种操作称为强制类型转换。
逻辑运算符的短路特性
对于或运算符 || ,从左到右遇见第一个true就发生短路,对于与运算符 && ,从左到右遇见第一个false就发生短路。短路之后立刻就返回这个短路值,不再进行计算后面的表达式。
null 和 undefined
对于 == 运算,如果运算符两侧存在null或undefined,那么只有两侧均为null 或undefined时,结果才为true。
console.log(null == 0) console.log(null == undefined)
-------------------------------------------
false
true
二、常用测试函数
console.log(); alert(); prompt(); confirm();
代码编写规范
建议在循环语句或if语句中,无论其中执行体中是有一行代码还是多行代码,都将其包装在花括号中。
建议使用驼峰命名。