1.let ES6中新增的用于声明变量的关键字. let 声明的变量只在所处于的块级有效. 注意:使用 let 关键字声明的变量才具有块级作用域,var 关键字是不具备这个特点的. 1. 防止循环变量变成全局变量. 2. 不存在变量提升 3. 暂时性死区 if(true){ let a=10; } console.log(a); // a is not defined //防止循环变量变成全局变量 for(var i=0;i<2;i++){ } console.log(i); // i=2(只有
ES6特性=>. function foo(x, y){ return x + y } var foo = (x, y) => x + y 包括一个参数列表(零个或多个参数,如果参数不是一个需要小括号包起来),然后是标识=>,函数体放在最后. 箭头函数是这一部分(x, y) => x + y, 然后这个函数引用被赋给变量foo. 函数体如果只有一个表达式可以省略{..},并且前面有一个隐含的return. 箭头函数总是函数表达式,并不存在箭头函数声明,它还是匿名的函数表达式.它们没
一.箭头函数 普通函数1 var add = function (a, b) { return a + b; } 普通函数2 function add (a, b) { return a + b; } 箭头函数 var add = (a, b) => a + b; 如果函数内部只有一句返回值,连return都不用写了,如果里面执行的语句比较多,就用{ }括起来 var add = (a, b)=> { console.log("这是箭头函数"); return a + b;
ES6标准新增了一种新的函数:Arraw Function(箭头函数). x => x * x 这个函数相当于 function (x){ return x * x; } 题外话:user strit javascript严格模式 var fn = x=>x*x; alert(fn(4)); 返回值为:4*4=16; 箭头函数有两种函数, 一种是只包含一种表达式的,就是上面的这种. 另一种就是包含多少种语句的, x => { if (x > 0) { return x * x; }