es6暂时性死区/ 立即执行函数 /class类
function bar(x = y, y = 2) {
return [x, y];
}
bar();
理解
bar(x = y, y = 2) 存在声明顺序
先声明x= y
这时y还未声明
所以会报错
var s = 'hello';
for (var i = 0; i < s.length; i++) {
console.log(s[i]);
}
console.log(i); //5
for循环后没有消失,泄漏为了全局变量
(function () {
... console.log('xaxa');
... }());
等同于
{console.log('xasxa')}
class People {
constructor(name) { //构造函数
this.name = name;
}
sayName() {
console.log(this.name);
}
}
上面定义了一个People类,他有一个属性 name 和一个方法 sayName(),还有一个构造函数;
你可以这样使用这个类:
var p = new People("Tom");
p.sayName();