数据类型
number/string/boolean/object/function/undefined
显式转换
转换成数字型
Number(value)转换成整数或浮点数;出错时返回NaN
parseInt(value)转换成整数;出错时,只转换第一个无效字符前的字符串
parseFloat(value)转换成浮点;出错时,同上。
转换成布尔型
Boolean(value)除了空字符串、0和NaN、null和undefined其他为true;
转换为字符串型:
String(value)一般都能直接转换。
JS内置对象,可用toString()方法转换为字符串。
isNaN()
说明:如果把 NaN 与任何值(包括其自身)相比得到的结果均是 false,所以要判断某个值是否是 NaN,不能使用 == 或 === 运算符。
提示:isNaN() 函数通常用于检测 parseFloat() 和 parseInt() 的结果,以判断它们表示的是否是合法的数字。当然也可以用 isNaN() 函数来检测算数错误,比如用 0 作除数的情况。
闭包
闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。
一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。
Math
Math.min(3,5,6,2,8,2)
Math.max(3,5,6,2,8,2)
Math.random() //随机数,范围 0-1 ,不包1
Math.pow(5,2) //5的2次方
Math.floor(num); //向下取整
Math.ceil(num); //向上取整
Math.round(num); //四舍五入
eval
eval() 函数可将字符串转换为代码执行,并返回一个或多个值
eval()的返回值遵循以下规则:
如果eval()的参数不是字符串,那么eval()将直接返回参数。
2.如果eval()的参数是字符串,那么eval()将这个字符串解析成代码后进行执行,并返回最后一行代码执行的结果。
3.如果字符串无法解析成合法的代码,eval()将抛出SyntaxError错误。
注意点:
eval只识别原生字符串,不识别字符串对象
引号外双内单