第1章 ES6简单用法
一、ES6中的let和const声明变量
1、JavaScript的var声明变量:
因变量提升,导致var声明的变量属于全局作用于。所以var声明变量存在覆盖现象。
2、let声明变量:
a、属于局部作用域
b、没有覆盖现象
3、const声明的是常量:
a、const声明的常量一旦创建后不可修改
b、const声明的常量属局部作用域
二、ES6模板字符串
${变量名}
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>let和const的使用</title> </head> <body> </body> <script type="application/javascript"> let name="ya"; let age=18; //用反引号 var desc=`欢迎${name},今年${age}岁了` console.log(desc) </script> </html>
三、ES6箭头函数书写
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>ES6箭头函数书写</title> </head> <body> </body> <script type="application/javascript"> //普通函数声明方式 function add(a,b) { return a+b } //函数对象方式 var add=function (a,b) { return a+b } //ES6声明方式 var add=(a,b)=>{ //执行体 return a+b } var persion={ name:"ya", age:18, fav:function () { //这里this指当前函数 console.log(this); return "fav"; } } var persion={ name:"ya", age:18, fav: ()=> { //这里this指向了定义person的父级对象 console.log(this); return "fav"; } } </script> </html>
箭头函数使用带来的特性:
1、函数内部的this对象发生了改变,值向创建对象的父级
2、arguments不能使用
四、对象的创建
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>对象创建</title> </head> <body> <script type="application/javascript"> //ES6中对象创建 var persion={ name:"ya", age:18, fav() { //对象的单体模式 //这里的this值对象自己,arguments参数也可直接使用 console.log(this); return "fav"; } }; </script> </body> </html>
单体模式:
1、this标示对象本身
2、arguments参数可用
五、ES6中类的使用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>ES6中类的使用</title> </head> <body> <script type="application/javascript"> /* //常规对象创建 function Person(name, age) { this.name=name; this.age=age; } Person.prototype.showName=function () { alert(this.name) } //使用关键字new来创建对象 var p=new Person('ya',18) p.showName() */ //ES6中创建对象的方式,使用class语法 class Person{ constructor(name,age){ this.name=name; this.age=age; }//这里不能加逗号 showName(){ alert(this.name) } }; var p2=new Person('huang',18) p2.showName() </script> </body> </html>