Skip to content

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]) //找最大值