JavaScript是一种动态类型语言(dynamically typed language)。这意味着你声明变量时能够 没必要指定数据类型,而数据类型会在脚本执行时根据须要自动转换。
而且,还能够给同一个变量赋予一个字符串值,例如web
由于 JavaScript 是动态类型的,这样赋值不会提示出错。segmentfault
涉及加法运算符(+)的数字和字符串表达式中,JavaScript 会把数字值转换为字符串。例如数组
但在涉及其它运算符(译注:以下面的减号'-')时,JavaScript语言不会把数字变为字符串。例如(译注:第一例是数学运算,第二例是字符串运算):浏览器
因为 JavaScript 中的变量是 松散类型 的,因此JavaScript提供了一种检测当前变量的数据类型的操做符,也就是 typeof 。函数
经过使用 typeof() 的方式获取对象的数据类型,包括如下类型:boolean、string、number、undefined、object、function 。spa
注意3d
(1)NaN 的数据类型是 number对象
(2)未定义变量的数据类型为 undefinedblog
(3)数组(Array)的数据类型是 objectip
(4)日期(Date)的数据类型为 object
(5)null 的数据类型是 object
(6)函数(function)的数据类型是 function
Number() 函数把对象的值转换为数字。
Number(object)
参数 | 描述 |
---|---|
object | 必需。JavaScript 对象。 |
(1)若是参数是 Date 对象,Number() 返回从 1970 年 1 月 1 日至今的毫秒数。
(2)若是对象的值没法转换为数字,那么 Number() 函数返回 NaN。
parseInt() 函数可解析一个字符串,并返回一个 整数。
(1)当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。
(2)当忽略参数 radix , JavaScript 默认数字的基数以下:
parseInt(string, radix)
参数 | 描述 |
---|---|
string | 必需。要被解析的字符串。 |
radix | 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。 |
(1)只有字符串中的第一个数字会被返回。
(2)开头和结尾的空格是容许的。
(3)若是字符串的第一个字符不能被转换为数字,那么 parseInt() 会返回 NaN。
(4)在字符串以"0"为开始时旧的浏览器默认使用八进制基数。ECMAScript 5,默认的是十进制的基数。
parseFloat() 函数可解析一个字符串,并返回一个 浮点数。
该函数指定字符串中的首个字符是不是数字。若是是,则对字符串进行解析,直到到达数字的末端为止,而后以数字返回该数字,而不是做为字符串。
parseFloat(string)
参数 | 描述 |
---|---|
string | 必需。要被解析的字符串。 |
(1)字符串中只返回第一个数字。
(2)开头和结尾的空格是容许的。
(3)若是字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。