ES6语法

let

  • 用于声明变量
  • let声明的变量不能重复声明
  • let声明的变量不能变量提升
  • 块状作用域
  • 使用let声明的变量不属于顶层对象(window)

const: 

  • 用于声明常量(一般用大写)
  • 常量不能修改
  • 块状作用域
  • 使用const声明的常量也不属于顶层对象

结构赋值 

1.数组的结构

let [a, b, c, d] = [1, 2, 3, 4]
        console.log(a)

2. 对象的结构

 let {name:name, age:age} = {
            name: "孙悟空",
            age: 18
        }
        console.log(name, age)
        

3. 复杂对象

 let obj = {
            code: 200,
            result: ["三国", "水浒", "红楼", "西游"]
        }
        let {result: [book1, , book3]} = obj;
        console.log(book1, book3)

4.不使用第三个变量来交换值

[num1, num2] = [num2. num1]

for .. in..

 let obj = {
            a: 1,
            b: 2,
            c: 3
        }
        for (x in obj) {
            console.log(x)//a, b, c
            console.log(obj[x])//1, 2, 3
        }

for of 

 <p>1</p>
    <p>2</p>
    <p>3</p>
    <p>4</p>
    <p>5</p>
    <script>
      var ps = document.querySelectorAll("p");
      for (item of ps) {
          console.log(item)
      }
    </script>

for of:纯数组与类数组集合均可遍历

for in:用于数组对象,获取的是key

forEach:用于纯数组

模板字符串 (反引号``)

  • 定义比较长,复杂的字符串
  • 可以插入变量
  • 可以插入函数
      let str2 = 'no';
        let p = document.createElement("p")
     p.innerHTML = `
     <a href="###">
            <span class="yes">${str2}</span>
            <span>${rand(10,200)}</span>
        </a>
     
     `
    function rand(min, max) {
        return Math.round(Math.random() * (max - min))
    }
    console.log(p)

    args参数

  • arguments是一个类数组对象
  • args是纯数组对象 

 function add() {
            1.
            let sum = 0;
            for(let i = 0; i< arguments.length;i++) {
                sum += arguments[i];
            }
            return sum;

           
        }
        console.log(add(1,2,3,4,5))
 function add(...args) {
           let sum = 0;
            args.forEach(function(item) {
                sum += item;
            })
            return sum; 
        }
        console.log(add(1,2,3,4,5))

箭头函数

  • 简化回调函数的写法
  • 箭头函数中的this是函数声明时所在的对象
    // 箭头函数
        let rand = (min, max) => Math.round(Math.random() * (max - min))
        console.log(rand(3,7))
    elements.map(function(element) {
      return element.length;
    }); // 返回数组:[8, 6, 7, 9]
    
    // 上面的普通函数可以改写成如下的箭头函数
    elements.map((element) => {
      return element.length;
    }); // [8, 6, 7, 9]
    

  • 检测是否是数组

  • Array.isArray(arr)      返回true or false

对象简写 

 let name = "ce";
        let age = '18';
        var obj2 = {
            name,
            age,
            run() {console.log("快跑")}
        }
        console.log(obj2)

合并对象

Object.assign(obj1,obj2,obj3)

set

一种数据结构,数据成员唯一,没有索引

  let set = new Set([1,1,2,3,4,5,6,7,7,8]);
        console.log(set)
        // for(x of set) {
        //     console.log(x)
        // }
        // set.add(7);
        // set.delete(2);
        // set.clear();
        console.log(set)

set数组去重

//方法1.
        function singleArr(arr) {
            return [...new Set(arr)];
        }

        let arr = [1,1,1,4,5,6,6,7,8];
        console.log(singleArr(arr))
        // 方法2
        Array.prototype.singleArr = function() {
            return [... new Set(this)];
        }
        let arr1 = [1,3,3,4,4].singleArr();
        console.log(arr1);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值