ES6语法新特性let和template模板机制


1.var带来的不合理场景是用来计数的循环变量泄露为全局变量

	var a = [];
	for (var i = 0; i < 10; i++) {
	  a[i] = function () {
	    console.log(i);
	  };
	}
	a[6](); // 10

上面代码中,变量i是var声明的,在全局范围内都有效。所以每一次循环,新的i值都会覆盖旧值,导致最后输出的是最后一轮的i的值。而使用let则不会出现这个问题。


2.template string

这个东西也是非常有用,当我们要插入大段的html内容到文档中时,传统的写法非常麻烦,我们要用一堆的'+'号来连接文本与变量,而使用ES6的新特性模板字符串``后,我们可以直接这么来写:

$("#result").append(`
  There are <b>${basket.count}</b> items
   in your basket, <em>${basket.onSale}</em>
  are on sale!
`);

只需要把定义过的变量用${}的机制就可以加载到。

猜你喜欢

转载自blog.csdn.net/qq_39940866/article/details/78036816