一:ECMAScript 和 JavaScript 的关系。
*ECMAScript 是JavaScript的标准(语法规范)。
*JavaScript用于遵循这个规范。
二:准备工作。
1,vscode编译器。
2,Chrome浏览器。
3,在vscode中下载并安装live server插件和JavaScript code snipers(用于识别语言)插件。
写完代码以后,右击选择Open width live server即可实时浏览效果。
三:es6中的箭头函数。
解决的问题:1,缩减代码2,改变this指向。
1,缩减代码。
//原始代码结果为4.
const double=function(number){
return number*2;
}
console.log (double(2));
//简化代码结果为4.
const double1 = (number) => number * 2;
console.log (double1(2));
//或者
const double2 = number => number * 2;
console.log (double2(2));
//当有两个形参时结果为40.
const double3 =(number,number2) => {
sum = number + number2
return sum;
}
console.log(double3(20,20));
2,改变this指向。
const team={
members:["Honey","Text"],
teamName:"es6",
teamSum:function(){
return this.members.map((member)=>{
// this指向的就是team对象
return `${member}属于${this.teamName}团队`;
})
}
}
console.log(team.teamSum());
结果为:
*补充:
1,ES6中的Map类型是一种存储着许多键值对的有序列表。其中最为重要的是:Map集合的键名和值支持任意类型的数据。
2,全局环境下
在全局环境下,this 始终指向全局对象(window), 无论是否严格模式。
3,函数直接调用
普通函数内部的this分两种情况,严格模式和非严格模式。
①非严格模式下,this 默认指向全局对象window
②严格模式下, this为undefined
3,对象中的this
①对象内部方法的this指向调用这些方法的对象,函数的定义位置不影响其this指向,this指向只和调用函数的对象有关。
②多层嵌套的对象,内部方法的this指向离被调用函数最近的对象(window也是对象,其内部对象调用方法的this指向内部对象, 而非window)。