在js中一共有六种数据类型

String 字符串
Number 数值
Boolean 布尔值
Null 空值
Undefined 未定义
Object 对象
其中前五个属于基本数据类型,而Object属于引用数据类型

typeof
可以使用typeof来检测一个变量的类型,语法: typeof 变量,返回值就是变量的类型

console.log(typeof a);
console.log(typeof b);

Number

  • js中表示最大的数值 Number.MAX_VALUE,表示最小的数值 Number.MIN_VALUE(是一个无限接近0的正数)
  • Infinity表示正无穷, -Infinity表示负无穷
  • NaN 是一个特殊的数字 Not A Number 使用typeof检查NaN返回的也是number

如果表示的数超过最大的数值,那么输出就是Infinity(字面量,就当成一个数字)来表示正无穷,反之就输出负无穷,在js中整数运算基本能保证精确,如果进行浮点运算,则结果可能是一个不精确的结果,所以不推荐用js进行对精确度要求高的运算。

Boolean

布尔值只有两个值

  • true 表示真
  • false 表示假

Null和Undefined

  • Null类型的值只有一个,就是null,null的值专门用来表示为空的对象
  • Undefined的值只有一个,就是undefined

当声明一个变量,但并不给变量赋值时,它的值就是undefined,使用typeof来检查undefined时也会返回undefined,用typeof来检查null会返回Object

强制类型转换

  • 转换为String

String()和toString()都是将其他类型的变量转换为字符串类型。
方式一:
调用被转换数据类型的toString()方法,该方法不会影响到原变量,它会将转换的结果返回
注意:null和undefined没有toString()方法

                   var a=123;
             //调用a的toString()方法
               a=a.toString();
               a=true;
               a=a.toString();

方式二:
调用String()函数,并将被转换的数据作为参数传递给函数

    a=132;
    a=null;
    a=undefined;
    a=String(a);
    console.log(typeof a);
    console.log(a);
  • 转换为Number

方式一:
使用Number()函数
如果时纯数字字符串,则直接将其转换为数字
如果字符串中有非数字内容,则直接将其转换为NaN
如果字符串是空的或全为空格,则转为0;
如果字符串是Boolean 则true转为1,false转为0
null转为数字结果为 0,undefined转数字则为NaN

方式二:
使用parseInt()或者parseFloat()
parseInt()把一个字符串转为整数,取整,parseFloat()把一个字符串转换为浮点数,包括小数
调用parseInt()函数会读取字符串的有效整数位,然后转换为Number,遇到非数字就会停止读取后边的字符了,parseFloat也是类似的
如果对于非String使用parseInt()或parseFlaot(),它会先转换为String再操作
另外,可以在parseInt()中指定第二个参数来表示转换后数字的进制,比如像"070"这种字符串有些浏览器会把它当作8进制解析,有些会当作10进制解析。

 var a="070"; 
 a=parseInt(a,8);
 console.log(typeof a);
 console.log(a);
  • 转换为Boolean

使用Boolean()函数
数字-->布尔,除了0和NaN,其余转换的都是true
字符串-->布尔,除了空串,其余的都是true
null和undefined转换都为false
对象也会转换为true

Last modification:April 5, 2020
如果觉得我的文章对你有用,请随意赞赏