JS中的数据类型分为基本数据类型和引用数据类型;函数
基本数据类型包括number、string、boolean、null、undefined;spa
引用数据类型包括对象数据类型object和函数数据类型functionprototype
基本数据类型是按照值来操做的,引用数据类型是按照引用地址来操做的。code
number中的方法对象
方法一:isNaN(要检测的值):is not a numberblog
做用:检测一个值是否是有效数字,若是不是一个有效数字,返回true,若是是有效数字,返回false; 原型链
console.log(isNaN(123)); //false console.log(isNaN('haha')); //true
方法二:强制转换:Number(要转换的值)--》将其余数据类型转换为number数据类型字符串
若是要检测的值是其余数据类型,会默认执行Number()转换为数字,而后再判断get
方法三:非强制转换:parseInt/parseFloat原型
parseInt(要转换的内容); 从左到右依次查找,只要遇到一个字符不是数字,就中止查找;若是是字符串,字符串中第一个字符不是数字,直接返回NaN
parseInt('12px'); //12
parseFloat 和parseInt同样,只不过能够多识别一个点
parseFloat('12.34px'); //12.34 parseFloat('12.34.5px'); //12.34 parseFloat('12a3c'); //12 parseFloat('1a2.3'); //1 parseFloat('a12.4px'); //NaN parseFloat('12a12.5px');//12
注意:强制转换和非强制转换的共同点:只要第一个字符不是有效数字 就直接返回NaN
方法四:toFixed(n) 保留小数点后面n位
var num = 3.141592654; console.log(num.toFixed(2));//->3.14
2.boolean:只有两个值 true false
规律:0 NaN ‘’ null undefined 这五个值是false,其他都是true
执行Boolean()、!、!! 这三种方法都是将其余的数据类型转换为布尔类型
! 一个叹号 取反(先将这个值转换为布尔类型 【执行 Boolean();】,而后再取反)
!! 取反再取反 至关于直接转换为布尔类型 和执行Boolean()方法 同样
若是条件判断中只有一个单独的值,那它的意思是:首先把这个值转换为布尔类型,而后看是真仍是假,是的真的话条件成立,反之条件不成立
3.null和undefined
null表示"没有对象",即该处不该该有值。典型用法是:
(1) 做为函数的参数,表示该函数的参数不是对象。
(2) 做为对象原型链的终点。
Object.getPrototypeOf(Object.prototype)// null
undefined表示"缺乏值",就是此处应该有一个值,可是尚未定义。典型用法是:
(1)变量被声明了,但没有赋值时,就等于undefined。
(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。
(3)对象没有赋值的属性,该属性的值为undefined。
(4)函数没有返回值时,默认返回undefined。
var i; i // undefined function f(x){console.log(x)} f() // undefined var o = new Object(); o.p // undefined var x = f(); x // undefined