函数
-
默认参数
function Person(name = "xiaohong", age = 18) { this.name = name; this.age = age; } let person1 = new Person(); console.log(person1.name); // xiaohong
-
省略参数
function test(...arg) { let res = arg.reduce(function(sum, item) { return sum + item; }); console.log(res); // 6 } test(1, 2, 3);
-
箭头函数
let sum = (a, b) => { return a + b; }; console.log(sum(1, 2)); // 3 // 单个参数可省略小括号,直接返回可省略函数大括号 let double = num => num * 2; console.log(double(2)); // 4 // 箭头函数没有this,内部的this就是上层代码块的this let obj = { name: "xiaohong", say: function() { // 指向上层代码块obj setTimeout(() => { console.log(this.name); // xiaohong }); // 指向window setTimeout(function(){ console.log(this.name); // undefined }); } }; obj.say(); let fn = () => { console.log(this); // window }; fn();
-
Array.from()将类数组转成数组
function sum() { return Array.from(arguments).reduce((val, item) => { return val + item; }); } console.log(sum(1, 2, 4)); // 7
-
fill填充数组
let arr = [, ,]; console.log(arr.fill(1)); // [1, 1]
-
find找到数组中第一个满足条件的元素
let arr = [1, 2, 3]; let item = arr.find(item => { return item > 1; }); console.log(item); // 2
-
findIndex找到数组中第一个满足条件的元素索引
let arr = [1, 2, 3]; let index = arr.findIndex(item => { return item > 1; }); console.log(index); // 1
-
some数组中是否存在满足条件的元素
let arr = [1, 2, 3]; let flag = arr.some(item => { return item >= 3; }); console.log(flag); // true
-
every数组中是否所有元素都满足条件
let arr = [1, 2, 3]; let flag = arr.every(item => { return item >= 3; }); console.log(flag); // false
对象
-
对象的属性和方法可简写
let name = 'xiaohong'; let obj = { // 当key值和变量一致时可省略 name, // 方法可简写成这样 sayName(){} }
-
对象的继承
let obj = { name:'xiaohong', sayName(){ console.log(this.name) } }; let newObj = { name:'xiaoli' }; Object.setPrototypeOf(newObj, obj); newObj.sayName(); // xiaoli
-
class类
// 声明类,只能通过new生成对象,不能直接使用 class Parent { // 构造函数 constructor(name) { // 实例私有属性 this.name = name; } // 静态属性 不需要通过实例调用,类直接用 static hello() { return "hello"; } // 实例公共方法 sayName() { return this.name; } } // extends继承 class Child extends Parent { constructor(name) { // super 父级的构造函数 super(name); } } let p = new Child("xiaoli"); console.log(p.name); // xiaoli console.log(p.sayName()); // xiaoli
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。