数值拓展与函数拓展

数值拓展

新的方法和安全数

console.log(window.parseInt("1.23"))
console.log(parseFloat("1.23"))

console.log(Number.parseInt("1.23"))
console.log(Number.parseFloat("1.23"))
console.log(Number.isNaN(NaN))
console.log(Number.isNaN(-NaN))
console.log(Number.isNaN(1))
console.log(Number.isNaN("a"))
console.log(Number.isNaN(undefined))
console.log(Number)
console.log(Number.isFinite(Infinity))
console.log(Number.isFinite(2 /0))
console.log(Number.isFinite(1234)) //有限数字为true
Number.MAX_SAFE_INTEGER
Number.MION_SAFE_INTEGER

console.log(Number.MAX_SAFE_INTEGER)
console.log(Number.MION_SAFE_INTEGER)

console.log(Number.isSafeInteger(Number.MAX_SAFE_INTEGER-1)) //true
console.log(Number.isSafeInteger(Number.MAX_SAFE_INTEGER+1))//false

乘方

let a = 2**2 //2的2次方
console.log(a)

let b = 2**2**0 // 等同于 let b = 2**(2**0) => 2**1
let c = (2**2)**0 //1

// 也就是乘方运算时右结合,从右往左结合

函数拓展

函数参数的默认值

function add(a,b=999) {
    console.log(a,b)
} 
add(1)

function add(a,b=999+a) {
    console.log(a,b)
} 
add(1) //可以使用前面的a

function add(a,b=999+b ,c=1) {
    console.log(a,b)
} // 不可以直接使用b

function add(a,b=999+c ,c=1) {
    console.log(a,b)
} 
add(1) //c在后面不可以用于前面默认值的计算

对象的解构赋值和函数参数默认值的结合(容易混淆

function People({name,age=38} = {name:1}) {
    console.log(name,age)
}

People()// 1 38

前面的是对象的解构赋值和默认值得设置,后面的是函数参数的默认值设置,对于参数来说在没有得到实参时会优先使用后面的形参默认值来初始化,而形参没有默认值时就会使用对象解构赋值来初始化!!!

优先级: 实参 > 形参 > 对象解构赋值的默认值

将类数组对象转化为数组

let a = Array.prototype.slice.call(b)
let a = [...b]
let [...a] = b

剩余参数

function sum (...args) {
    console.log(agrs)
}
sum(1,2,3,45,56,676,8)
// [1,2,3,45,56,676,8]

与拓展运算符的区别: 正好相反,拓展运算符let a = [1,23,3] let [b,c,d] =[a] let e = [3,4,...a]// b,c,d,e 均有值,意为展开!剩余参数是将传入的参数合并到一个数组里!

剩余参数必须是参数的最后一位!

箭头函数

箭头函数

const pop = arr => arr.pop() //3
//and
const pop2 = arr => {arr.pop()} //undefined

const pop = arr => void arr.pop() //undefined

console.log(pop([1,2,3]))

因为不写大括号默认为return arr.pop()的值, 写了后不显示写明return arr.pop()的话不会返回值!

没有argumentsthis是外层的this

1255636-20190620000842771-743883994.png

转载于:https://www.cnblogs.com/daixixi/p/11055493.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值