ES6(三)

数字类型的方法

Number.isNaN( )

判断是否为NaN类型

    console.log(Number.isNaN(NaN)); // t
    console.log(Number.isNaN(null)); //f
    console.log(Number.isNaN(undefined)); //f
    console.log(Number.isNaN(false)); //f
    console.log(Number.isNaN(0)); //f

Number.isFinite( )

判断参数有限还是无限

console.log(Number.isFinite(Infinity)); //f
    console.log(Number.isFinite(Math.PI)); // t 计算精度问题
    console.log(Number.isFinite(1.8901238921838912098)); // t
    console.log(Number.isFinite(0)); //  t
    console.log(Number.isFinite(null)); // f
    console.log(Number.isFinite(undefined)); // f 
    console.log(Number.isFinite(1 / 3)); // t 

Number.isInteger( )

判断参数是否为整数

    console.log(Number.isInteger(1)); // t
    console.log(Number.isInteger(1.123213)); // f
    console.log(Number.isInteger("1")); // f
    console.log(Number.isInteger("1.12312")); // f
    console.log(Number.isInteger(null)); // f
    console.log(Number.isInteger(false)); //f

前三个函数在进行判断时,首先判断参数是否为数字类型,如果不是则直接为false

Number.parseInt( )

解析一个字符串,返回参数的整数部分。参数通常为字符串。

   console.log(Number.parseInt(1.23214));//1
    console.log(Number.parseInt("1.23214")); // 1
    console.log(Number.parseInt(null)); // NaN
    console.log(Number.parseInt(false));// NaN
    console.log(Number.parseInt(undefined));// NaN

与Math.parseInt()一样,会发生隐式类型转换,将非数字类型转换成数字类型

Math.trunc( )

用于去除一个数的小数部分,返回整数部分。参数常为数字类型

    console.log(Math.trunc(1.123123));  // 1
    console.log(Math.trunc("1.123123")); // 1
    console.log(Math.trunc(null)); // 0
    console.log(Math.trunc(undefined)); // NaN
    console.log(Math.trunc(false)); // 0
    console.log(Math.trunc(true)); // 1
    console.log(Math.trunc('呵呵'));  // N

Math.sign( )

判断参数是正数(1)、负数(-1)还是0(0)

    console.log(Math.sign(0)); //0
    console.log(Math.sign(1)); //1
    console.log(Math.sign(-1)); // -1
    console.log(Math.sign(1.12321)); // 1
    console.log(Math.sign(null)); // 0
    console.log(Math.sign(undefined)); // N
    console.log(Math.sign(false)); // 0
    console.log(Math.sign('嘿嘿'));  // N

对象的方法

ES6对象属性的简洁写法

  • 如果对象中属性名=属性值,且这个值已经被定义,可以省略属性值
  • 对象中的函数可以省略’:function’
  • 表达式可以用作属性名
    var name = 'zs'
    var start = 'start'
    var end = 'end'
    var obj = {
        name,//等同于 name:name,
        age: 18,
        // say: function () {
        //     console.log(this.name);
        // },
        say() {
            console.log(this.name);
        },//等同于上面注释中的函数
        [first + end]: '表达式'//两个参数拼接的表达式,中括号包起来
    }

Object.is(参数1,参数2)

判断两个参数是否全等,等同于’===’

关于NaN,理论上来说NaN不等于任何值,使用全等判断两个NaN为false,但是这里使用Object.is(NaN,NaN)判断为true

Object.assign(目标对象,源对象1,源对象2,…)

将源对象中的属性添加到目标对象中

举个栗子,把obj1添加到obj中,打印结果发现obj本身也发生了改变

	var obj = {
        name: 'lily',
        agr: 20,
        sex: '女'
    }
    var obj1 = {
        height: '170cm',
        brith: 2002
    }
    var objNew = Object.assign(obj, obj1)
    console.log(obj);//{name: 'lily', agr: 20, sex: '女', height: '170cm', brith: 2002}
    console.log(obj1);//{height: '170cm', brith: 2002} 
    console.log(objNew);//{name: 'lily', agr: 20, sex: '女', height: '170cm', brith: 2002}

Object.keys( )

遍历对象中的属性名

Object.values( )

遍历对象中的属性值

函数的方法

ES6中给参数赋初值

声明一个函数时,可以给形参先赋一个初值,在后续调用中,如果传递了实参则会进行覆盖初值。

	function fn(a=10){
		console.log(a)
	}
	fn();//10
	fn(20)//20

…rest用法

在函数中可以使用扩展运算符表示除了传递给形参的剩余参数

扩展运算符

  • 遍历数组
  • 当做数组的元素
  • 深拷贝
  • 函数的调用
  • 与解构赋值结合
  • 转化成真正的数组
  // 1、遍历数组
  var arr = [1,2,3,4]
  console.log(...arr);//1 2 3 4
  // 2、当做数组的元素
  console.log(["哈哈", ...arr, true]);//['哈哈', 1, 2, 3, 4, true]
  // 3、用于深拷贝
  var arrNew = [];
  arrNew = [...arr];
  console.log(arrNew);//[1, 2, 3, 4]
  arr.push(50);
  console.log(arr);//[1, 2, 3, 4, 50]
  console.log(arrNew);//[1, 2, 3, 4]
  // 4、用于函数的调用
  function demo1(x, y, z, m) {
    console.log(x + y + z + m);
  }
  demo1(arrNew[0], arrNew[1], arrNew[2], arrNew[3]);//10
  demo1(...arrNew);//10
  // 5、与解构赋值结合
  var [a, ...arr1] = arrNew;
  console.log(a, ...arr1);//1 2 3 4
  // 6、转化成真正的数组
  var str = "hello";
  var arrStr = Array.from(str);
  console.log(arrStr);//['h', 'e', 'l', 'l', 'o']
  console.log(...str);//h e l l o
  console.log([...str]);// ['h', 'e', 'l', 'l', 'o']
  • 23
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值