es6新增的语法

ES6将弱类型的js提升为中弱类型。我们也一定要学习ES6.
ES6新增知识点:
1、
定义变量
之前定义变量一直用的是var,但是es6中可以使用let和const
但是let有几个特点:
-不允许声明变量

  • 不存在预解析
  • 在大括号中声明的变量只能在大括号中使用

const的特点:
不允许重复声明
不允许重新赋值(可以给对象中新增属性)
声明的时候必须赋值
不存在预解析
在大括号中声明的变量只能在大括号中使用,如if、for的大括号中声明的变量

2、
箭头函数:箭头函数是用来简写函数的
注意:如果只有一个小形参时,小括号可以省略
注意:如果代码块中只有一行代码,箭头函数可以省略大括号,并将这行代码作为返回值

let fn = ()=>{console.log(111);}

箭头函数使用注意事项:
(1) 箭头函数中的this比较混轮,所以在函数和方法中使用到this的时候,就不要用箭头函数
(2) 箭头函数中没有arguments

函数默认值:
es6中可以定义默认值:

function add(a,b=2){
    return a + b;
}
console.log(add(5));

解构赋值:
解析一个数据结构并赋值,可以快速的从对象或数组中取出需要的内容,对象使用大括号,数组使用中括号
解构对象:

let obj = {
    name:"张三",
    age:12,
    sex:"男",
}
let {name} = obj;
/*
表示从obj中获取name属性,并赋值给声明的name变量
*/

注意:obj必须是一个对象。obj中必须有name属性

3、
this 关键字
每个函数内容都有一个关键字叫做this。不同的情况下,this代表的内容也是不一样的。
(1)普通函数中的this代表window对象

function fn(){
    console.log(this);
}
fn(); // window

(2)定时器中的this代表window

var obj = {
    eat:function(){
        setTimeout(function(){
            console.log(this);
        });
    }
};
obj.eat(); // window

(3)自调用函数中的this代表window

document.querySelector("button").onclick=function(){
    (function(){
        console.log(this);
    })()
}
// window

(4)对象方法中的this代表调用这个方法的对象

document.querySelector("button").onclick=function(){
    (function(){
        console.log(this);
    })()
}
// window

(5)事件函数中的this代表当前事件的事件源

document.querySelector("button").onclick=function(){
    console.log(this);
}
// <button>按钮</button>

(6)箭头函数的this在定义箭头函数的时候就知道了,代表上一行代码的this

document.querySelector("button").onclick=function(){
    // 这里的this代表button按钮,所以箭头函数的this也是button按钮
    setTimeout(()=>{console.log(this);});
}
// <button>按钮</button>

4、 上下文调用模式

也叫作方法借用模式。任何函数都能调用call、apply、bind这三个方法。这三个方法主要用于改变函数中this的指向。
call:call方法不仅可以用来调用函数,还可以指定调用函数的this指向

function fn2(){
    console.log(this);
} 
fn2.call([1,2,3]);

这是主要的几个,这个月上课下来,得到了挺多知识,挺让人影响深刻且觉得不可思议的。
希望以后能能到更多的知识,继续提升自己。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值