基础语法变量提升//es5vararr=[];for(vari=0;i<5;i++){(function(i){arr.push(function(){console.log(i)})})(i)}arr[1]()//0arr[2]()//1arr[3]()//2//es6vararr=[];//让arr=[]可以是for(leti=0;i<5;i++){arr.push(function(){console.log(i)})}arr[0]()//0arr[1]()//1arr[2]()//210JavaScriptdifficultiesimportisexecutedatcompiletime//profile.jsexportvarparam=[1,2,3];//index.jsconsole.log(param);import{param}from'./profile';//没有报错,执行结果如图moduleNote//lib.jsvarcounter=3;functionincCounter(){counter++;}module.exports={counter:counter,incCounter:incCounter,};//main.jsvarmod=require('./lib');console.log(mod.counter);//3mod.incCounter();console.log(mod.counter);//3//resultunchangedchangelibvarcounter=3;functionincCounter(){counter++;};module.exports={getcounter(){returncounter;},incCounter:incCounter};//resultcounter值改变参考Es6新特性[持续更新]
