Javascript中的变量能够保存任何数据,是弱类型语言,或者称之为"动态类型"的编程语言。Javascript共有七种数据类型,具体以下。javascript
number类型用于正数和浮点数。除了常规的数字,一些特殊的数值也属于这种类型。好比:Infinity,-Infinity和NaN。java
alert(1/0)// Infinity
alert(Infinity)//Inifinity
复制代码
任何对NaN的进一步操做都会返回NaN编程
在JS中,数学运算是安全的,能够作任何操做:除以0,将非数字字符串视为数字,等等。脚本永远不会致命的错误。最坏的状况是返回NaN。安全
JS中的字符串必须被包裹在引号中。 有三种包含字符串的方式:bash
hello
反引号是功能扩展的引用,容许经过${},将变量和表达式嵌入到字符串中。只有两个值,true和false编程语言
只有一个值,是null,表示无,空,或者值未知。函数
只有一个值,含义是 未被赋值 若是变量被声明,而未被赋值,那么它的值就是undefined。spa
object类型是特殊的类型,属于复杂类型。code
Symbol类型用于建立对象的惟一标识符。对象
大多数状况下,运算符和函数会自动将值转换为正确的类型。
alert会自动将任何值转换为字符串,也能够显式的调用Stirng(value)
进行转换。
在算术函数和表达式中,会自动进行number类型转换,也可使用Number(value)
进行转换。 number类型转换规则:
加号"+" 几乎全部的算术运算符都会将值转换为数字,加号是个例外,若是其中一个运算元是字符串,另一个也会转换为字符串。
逻辑操做或者显式调用Boolean(value)都会触发boolean类型转换。 转换规则:
注意: 包含0的字符串"0" 会被转化为 true(非空字符串会被转化为true)