zoukankan      html  css  js  c++  java
  • 数值拓展与函数拓展

    数值拓展

    新的方法和安全数

    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

  • 相关阅读:
    package.json作用
    github 发布项目
    kubernetes --> ConfigMap
    kubernetes1.9 手动安装
    python3 BeautifulSoup模块
    python3 requests模块
    ununtu16.04+python3+selenium+firefox环境搭建
    QQ空间动态内容,好友信息,点赞爬虫脚本
    k8s使用ceph作为后端存储挂载
    ceph存储安装配置
  • 原文地址:https://www.cnblogs.com/daixixi/p/11055493.html
Copyright © 2011-2022 走看看