JS的数据类型就是字面量的类型。JS中一共有六种数据类型。
string(字符串),number(数值),Boolean (布尔值),null(空格),undefined(未定义),
object(对象)。其中前五个属于基本数据类型。object属于引用数据类型。
string:
格式:var str=“something”,表示把something赋值给str变量。在字符串赋值的时候要用引号引起来。包括在console.log()中书写字符串的时候也要用引号引起来。引号不能嵌套,在双引号里面只能再用单引号,同理单引号里面也只能有双引号,在字符串中如果非要用两个双引号的时候可以用转义字符进行转义。如\"表示一个普通的双引号,这样编译器就可以识别了常见的:\n表示换行,\t表示制表符(也就是可以看作按下了空格),特别注意在打印\的时候要打两个\才能表示一个\。
number:
在JS中所有的数值都是number类型,不区分整形和浮点型。在我们区分不了数值的数据类型的时候可以使用typeof来检查一个变量的类型,格式:typeof 变量。字符的时候返回string。数值的时候返回number。JS中可以表示的数字最大值Numbre.MAX_VALUE能表示Java中的最大值。大于可以显示值的话,这会返回Infinity。如果你将两个字符串进行相乘的话,会给你返回一个NaN,表示not a number。nun也是一个数字,但是是一个特殊的数字。是一个字面量。Number.MIN_VALUE表示一个大于0的最小的数字。如果进行JS进行浮点元素,可能得到一个不精确的结果,所以千万不要使用JS进行对精确度要求较高的运算。
Boolean:
布尔值只有两个,true(真),false(假)。格式:var bool=true;不需要引号。使用typeof检查一个布尔值的时候会返回一个boolean。
Null和undefiend:
Null的值就只有一个null,null这个值专门用来表示一个为空的对像。使用typeof检查null是返回object。undefined的类型也只有一个就是undefined,当我们为一个值仅仅声明它的时候它就是undefined,undefined可以看作一个默认值。
强制的类型转换:值将一个数据类型强制转换为其他的数据类型。
类型转换主要值,将其他的数据类型转换为string,number,boolean。
转换为string:
方式一,调用被转换数据类型的tostring()方法。就是 被转换的变量.tostring();
例如var a=a.tostring();特别说明,tostring不能在原变量的基础上进行改变,但是它拥有返回值,需要有变量在承载它的返回值。但是也有局限性,null和undefined这两个没有tostring方法。如果调用会报错。
方法二,可以用string函数进行改变,格式 a=String(a),使用string函数来说调用null和undefined是它会将null转换成“null”,也就是将它赋值为null或者undefined。
转换为number:
方式一:使用Number函数,方法和String函数一样的,如果转换之前的字符串不是一个纯数字的话转换后的值为NaN,因为它没有这样的数字。
如果转换之前是一个空串或者全是空格,则转换后为0。
布尔值转数字true为1.false为0。null转成一个数字就是0。
undefined转数字为NaN。
方法二:这种方式专门用来对付字符串。parseInt()把一个字符串转换成一个整数。它可以将其中一个字符串中的有效整数内容取出来。(从第一开始到不为数字的为止)。parseFloat()把一个字符串中的有效小数内容取出来。如果对于一个非String使用parseInt()或者parseFloat(),它会先将其转化为String,然后在操作。
(px:进制的表示,想表示16进制的数字就要用0x开头,8进制就用0开头。如果用表示2进制的话用0b开头,但是2进制不是所有的浏览器都兼容。在字符串转换为数字的时候我们可以在后面在传一个数字比如10来表示它的进制问题。如a=console.log(a,10).中间用逗号隔开。
转换为Boolean,使用Boolean函数。格式:a=Boolean(a)。
数字转Boolean值的时候除了0和NaN 以外都为true。
字符串转Boolean值,除了空串都为true。
null和undefined转Boolean都会转换为false。
对象也会转换为true。