ES6 数值、数组、对象、函数方法

ES6中数值的用法
  • Number.isNaN()函数:用于判断传入的是否是非数值 ,  NaN(非数值),才返回true
    • console.log(Number.isNaN(2.5)); //false
    •     console.log(Number.isNaN('abc')); //false
    •     console.log(Number.isNaN(NaN)); //true
  • umber.isFinite() 函数    用来检查一个数值是否非无穷  只有无穷大时才为false
    • console.log(Number.isFinite(555)); //true
    •     console.log(Number.isFinite(Infinity)); //false
  • Number.parseInt()函数   :解析一个字符串,返回一个整数
  • Number.parseFloat()    解析字符串,返回碰到第一个非数字返回
    • console.log(parseInt('12.55as')); //12
    •     console.log(Number.parseInt('12.55as')); //12
    •     console.log(Number.parseFloat('12.55as')); //12.55
  • Number.isInteger()函数  用来判断是否是整数
    • console.log(Number.isInteger(3.5)); //false
    •     console.log(Number.isInteger(3.0)); //true
  • Math.trunc()函数  用于去除一个数的小数部分,返回整数部分。
    • console.log(Math.trunc(3.0)); //3
    •     console.log(Math.trunc(3.55)); //3
  • Math.sign()函数 用来判断一个数到底是正数、负数、还是零。
    • console.log(Math.sign(-3)); //-1
    •     console.log(Math.sign(0)); //0
    •     console.log(Math.sign(3)); //1
 
ES6数组方法
  • Array.of()函数   将一组值,转换成数组。
    • var str = "123abc";
    •     var res = Array.of(str);
    •     console.log(res); //["123abc"]
  • Array.from() 函数  可以将类似数组(伪数组)的对象或者可遍历的对象转换成真正的数组。
    • var box = document.getElementsByTagName('div');
    • console.log(box instanceof Array); //false
    • console.log(Array.from(box) instanceof Array); //true
  • find()函数   找出数组中符合条件的第一个元素。
    • let ary = ['a', 'b', 'c', 'd', 1, 2, 3];
    •     var res2 = ary.find(function (value) {
    •         return value > "a";
    •     });
    • console.log(res2); //b
  • findIndex() 函数  返回符合条件的第一个数组成员的位置。有符合元素返回位置索引,没有符合元素返回-1
    • var res4 = ary.findIndex(function (value) {
    •         return value > "a";
    •     });
    •     var res5 = ary.findIndex(function (value) {
    •         return value > "d";
    •     });
    •     console.log(res4); //1
    •     console.log(res5); //-1
  • fill()函数  用指定的值,填充到数组。从位置 第二个参数 的元素开始填充 第一个参数,截止到位置 第三个参数 之前
    • console.log(ary); // ["a", "b", "c", "d", 1, 2, 3]
    •     ary.fill('o', 1, 4);
    •     console.log(ary); // ["a", "o", "o", "o", 1, 2, 3]
  • entries() 函数  对数组的键值对进行遍历,返回一个遍历器,可以用for..of对其进行遍历。
    • for (let [i, v] of ['a', 'b', 'c'].entries()) {
    •         console.log(i, v); //0 "a"   1 "b"   2 "c"
    •     }
  • keys()  函数   对数组的索引键进行遍历,返回一个遍历器。
    • for (let index of ['a', 'b', 'c'].keys()) {
    •         console.log(index); //0   1   2
    •     }
  • values()  函数  对数组的元素进行遍历,返回一个遍历器。
    • for (let value of ['a', 'b', 'c'].values()) {
    •         console.log(value); //a    b   c
    •     }
 
ES6对象方法
  • ES6中的简写
    • var name = '李四';  var age = 18;
    • var person1 = {  name,  age,  say() {
    •             console.log('ES6')    }    };
    •     console.log(person1); //{name: "李四", age: 18, say: ƒ}
  • 属性名的更新  用字面量定义一个对象的时候,可以用表达式作为对象的属性名或者方法名。
    • var f = 'first';    var n = 'name';  var s = 'say';    var h = 'hello';
    •     var person2 = {[f + n]: '张小凡', [s + h]() {  return '你好吗?';  }}
    •     console.log(person2.firstname); //张小凡
    •     console.log(person2.sayhello()); //你好吗?
  • Object.is()函数  比较两个值是否严格相等,或者说全等
    • var str = '12';    var num1 = 12;   var num2 = 12;
    • console.log(Object.is(str, num1)); //false
    •     console.log(Object.is(num1, num2)); //true
  • Object.assign() 函数  将源对象的属性赋值到目标对象上。源对象可以是一个或者一个以上,而目标对象只有一个。
    • let a = { 'a': 1 };
    •     let b = { 'b': 2, 'c': 3 };
    •     let c = { 'd': 4, 'e': 5 };
    •     Object.assign(a, b, c);
    •     console.log(a); //{a: 1, b: 2, c: 3, d: 4, e: 5}
  • Object.getPrototypeOf() 函数  获取一个对象的prototype属性。
    • function Person() {}
    •     Person.prototype = {  say() { console.log('hello');   }    }
    •     let p1 = new Person();
    •     p1.say(); //hello
    •     console.log(Object.getPrototypeOf(p1)); //{say: ƒ}
  • Object.setPrototypeOf()  函数  设置一个对象的prototype属性
    • Object.setPrototypeOf(p1, { say() { console.log('更改了') }  });
    •     p1.say(); //更改了
  • Javascript中面向对象   将共用属性和方法写在函数的原型中
    • function Dog(name) {  this.name = name;    }
    •     Dog.prototype = {     'type': '动物',   'say': function () {  console.log('名zi叫' + this.name);    }    };
    •     var dog = new Dog('旺财');
    •     dog.say(); //名zi叫旺财
 
ES6函数方法
  • 函数默认值
    • 把默认值的设定放在了参数上,而不需要在函数体内进行检测,一般将带默认值的参数放在最后。只有当传入的参数为undefined,才会触发默认值赋值。否则,哪怕你传的参数值为0,false,null都不会触发默认值赋值
    • function person2(name = 'maqiao', age = 22) {console.log(name, age); }
    •     person2(); //maqiao 22
    •     person2('wangwu'); //wangwu 22
  • rest参数,这是一个新的概念,rest的中文意思是:剩下的部分。在实参中,除了第一个参数以外,剩余的参数都会被...values获取到。rest参数必须是函数的最后一个参数
    • function sum(result, ...values) {
    •         console.log(values); // [1, 2, 3, 4, 5, 6]
    •         values.forEach(function (v, i) { result += v; })
    •         console.log(result); //21  }
    •     var res = 0;
    •     sum(res, 1, 2, 3, 4, 5, 6);
  • 扩展运算符 ...  可以将一个数组转成一个对应的参数数列
    • function sum(a, b) {  return a + b;  }
    •     let arr = [2, 3];
    •     console.log(sum(...arr));
  • 箭头函数
  • 箭头函数中的this,指的是定义时候产生的。this此时指的是window并不是我们想的元素。
    • function fn3() {
    •         console.log(3);
    •         return function fn4() {
    •             console.log(4);
    •             return function fn5() {
    •                 console.log(5);            }        }    }
    •     var fn6 = () => { console.log(6); return () => { console.log(7); return () => { console.log(8); } } }
 
 
 
posted @ 2020-09-01 21:09  帅气巴巴  阅读(1028)  评论(0编辑  收藏  举报