5函数扩展
5.1Number.isFinite() Number.isNaN()比较
Number.isFinite() 用于检查一个数值是否是有限的,即不是 Infinity,若参数不是 Number类型,则一律返回 false 。
//检测是否是有限(正常数)
Number.isFinite(10) //true
Number.isFinite('10') //false 非数字一律返回false
//NaN用于检测字符串是否是NaN类型
Number.isNaN(1) //false
Number.isNaN(NaN) //true
Number.isNaN('10') //注意这里的参数会过一遍Number false
Number(NaN) //NaN
Number({}) //NaN
Number(undefined) //NaN
Number(null) //0
Number(false) // 0
Number('') //0
5.2Number.parseInt(),Number.parseFloat() 与全局方法一致
Number.parseInt('12.34') //12
Number.parseFloat('12.234#') //12.234
6 函数拓展
6.1参数默认值
function f(a,b='kk') {
}
function fn({a=1,b})
f(1,2)
fn({a: 1,b:2})
6.2rest参数
rest参数(...变量名),其值为一个数组用于获取多余参数。
function f(a,...b) {
console.log(a,b)
}
f(1,2,3,4)
6.4箭头函数
let f = v => v
//相当于
let f = function(v){ return v}
//结合
let f = ({a,b})=> a+'-'+b
//简化回调函数
[1,2,3].map(function(x){
return x*x
})
[1,2,3].map((x)=>x*x)
7数组的扩展
let a = [1,2,3]
Math.math(...[a]) //找最大值