# js面试题

# Common.js 和 es6 module 区别

  • commonJs 是被加载的时候运行,esModule 是编译的时候运行
  • commonJs 输出的是值的浅拷贝,esModule 输出值的引用
  • webpack 中的 webpack_require 对他们处理方式不同
  • webpack 的按需加载实现

# 形参和实参

function test(a){
	a=a+10;
}
var a=10;
test(a);
console.log(a);
//10
function test(s){
	a=s+10;
}
var a=10;
test(a);
console.log(a);
function test(s){
console.log(s)//undefind
a=s+10;
}
test(a);
var a=10;
console.log(a);//10

形参名和实参名一样,那第一个例子a就不能修改外面的全局a;而第三个例子因为变量提升的原因,test(a)中的a其实是undefined,所以最终全局a是10

最后更新: 4/30/2021, 4:36:29 PM