//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
未完【一直更新】