适用在ECMscript 6里面
let和const
与之前的ES5.1相比,let真正意义的实现了块作用域的定义,并且不再支持重复赋值操作,会报错
const则用在对常量进行申明,一旦定义,值将不可改变
模板字符串操作:
可以通过反引号去拼接字符串,${}作为占位符使用
1 <script>
2
3 let a=1;
4 let b=2;
5 let st=`这是模板输出${a}你怎么看${b}`;
6 alert(st);
7 console.log(st);
8 </script>
箭头函数:
1 let pen = {
2 name:"kevin",
3 age:23,
4 fav: function (x, y) {
5 console.log(this); //this指代的是使用时定义的对象 pen
6 return x + y;
7 }
8 };
9 pen.fav();
10
11
12 let per = {
13 name: "kevin",
14 age: 23,
15 fun: (x, y) => {
16 console.log(this); //定义时所使用的对象,指向window
#console.log(arguments) //会报错
17 return x + y;
18 }
19 };
20 per.fun();
以上两种实现的效果都是一样的,下面是使用箭头函数去实现,return 可以省略掉
注意:箭头函数无法使用arguments会报错
为了解决this无法使用的问题,提出了对象的单体模式:
1 func(){
2 console.log(this)
3 }
等价于:
1 fav: function (x, y) {
2 console.log(this); //this指代的是使用时定义的对象 pen
3 return x + y;
4 }
利用ES6的构造方法来实现伪类class 单体模式
1 class Animal{
2 constructor(name,age){
3 this.name=name;
4 this.age=age;
5 }
6 ShowName(){
7 console.log(this.name)
8 }
9 }
10 let p=new Animal("kevin",23);
11 p.ShowName();
注意:单例模式和单例模式之间一定不要加符号分割