//es5 var arr = []; for(var i=0; i<5; i++){ (function (i){ arr.push(function (){ console.log(i) }) })(i) } arr[1]() // 0 arr[2]() // 1 arr[3]() // 2 //es6 var arr = []; // let arr = [] 均可以 for(let i=0; i<5; i++){ arr.push(function (){ console.log(i) }) } arr[0]() // 0 arr[1]() // 1 arr[2]() // 2
10个JavaScript难点javascript
//profile.js export var param = [1,2,3]; //index.js console.log(param); import {param} from './profile'; //并无报错,执行结果如图
//lib.js var counter = 3; function incCounter() { counter++; } module.exports = { counter: counter, incCounter: incCounter, }; //main.js var mod = require('./lib'); console.log(mod.counter);// 3 mod.incCounter(); console.log(mod.counter);// 3 //结果没有变
更改libhtml
var counter = 3; function incCounter() { counter++; }; module.exports = { get counter(){ return counter; }, incCounter:incCounter }; //结果counter值变了
Es6新特性java
未完【一直更新】