ES6(十二) ES6知识划分

本节重点讲解知识划分

(1) Let 和 Const 的区别

  • 只能声明一次
  • Let 能修改 Const 无法修改
  • 在块级作用域里面它出不来{}

(2) 箭头函数

  • 如果只有一个参数那么()可以省略
  • 如果函数体内只有一个 return 那么{}可以省略

(3)解构赋值

  • 声明和赋值不能分开
  • 左边格式必须完全等于右边
  • 右边必须是个东西,比如对象,数组之类的

(4) 数组开始

  • 重点记住 4 个 fmfr
  • f ——- foreach 就是单纯的循环
let arr = [2,3,4];
arr.foreach((item,index)=>{
  console.log(item);
})
  • m——-map 就是映射,有 map 就有 return
let score = [19, 85, 99, 25, 90];
let arr2 = score.map(item => {
  if (item > 60) {
    return "及格"
  } else {
    return "不及格"
  }
})
console.log(arr2);
  • f ————–filter 过滤 ,真的就留下
let guolv = [12, 5, 8, 99, 27, 36, 75];

let guolv_result = guolv.filter(item => {
  if (item % 3 == 0) {
    return true
  } else {
    return false
  }
})
console.log(guolv_result);
let arr3 = [
  { title: "男士衬衫", price: 75 },
  { title: "女式包", price: 58742 },
  { title: "男士包", price: 65 },
  { title: "女士鞋", price: 27531 },
];
let arr4 = arr3.filter(json => json.price > 10000);
console.log(arr4);
  • r —reduce 汇总 reduce 里面 3 个参数 总数,单独,次数
let huizong = [12, 69, 180, 8763];
let huizong2 = huizong.reduce((result2, item2, index) => {
  return result2 + item2;
})
console.log(huizong2);
let pingjun = huizong.reduce((result, item, index) => {
  if (index == huizong.length - 1) {
    return (result + item) / (index + 1);
  } else {
    return (result + item);
  }
})
console.log(pingjun);

(5)字符串方法

  • startsWith
  • endsWith
  • 字符串模板 ${}
let str = 'asdfghytridal';
let str1 = 123;
let str2 = `a${str1}`;
window.alert(str2);
alert(str.startsWith('asd'));
alert(str.endsWith("dal"));

(6) ES6 面向对象

  • 多了 class
  • 多了 extends
  • 多了 super
class User {
  constructor(name, pass) {
    this.name = name;
    this.pass = pass;
  }
  showName() {
    alert(this.name);
  }
  showPass() {
    alert(this.pass);
  }
}
class Vipuser extends User {
  constructor(name, pass, level) {
    super(name, pass); //继承了
    this.level = level;
  }
  showLevel() {
    alert(this.level);
  }
}

let u2 = new Vipuser('red', '1234', 2);
u2.showLevel();
u2.showName();
u2.showPass();
let u1 = new User('blue', '123456');
u1.showName();
u1.showPass();

(7)JSON

  • 第一个对象
    名字和值(key 和 value)一样的 留一个就行
  • 第二个简写
    可以去掉:function
 let a = 12;
let b = 13;
let json = { a, b };
console.log(json);
//方法开始
show:function(){}
show(){...}  //去掉了:和function
//3JSON标准格式 '{"a":1,"b":2}'

(8) Promise

  • promise 必有 then(成功执行的方法,失败执行的方法)
let p = new Promise((resolve, reject) => {
    //resolve 表示成功了
    //reject 表示拒绝了
    $.ajax({
      url: "js/arr.text",
      dataType: 'json',
      success(res) {
        resolve(res);
      },
      error(err) {
        reject(err);
      }
    })
  }).then(
    //第一个表示成功了调用 resolve
    (arr) => {
      alert("成功了" + arr);
    },
    //第二个表示失败了回调 reject
    () => {
      alert("失败了");
    }
  )

文章作者: 雾烟云
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 雾烟云 !
  目录