!function(a)
{
//'use strict';
console.log(a.x);
arguments[0].x=100;
console.log(a.x);
}({x:1});
前面的! 有什么作用呢?却掉后会抛SynaxError 求解释
function是函数声明,在后面加()表示立即执行,由于JavaScript中function的{}后接上()会有语法错误,所以需要把function先变成函数表达式,!就是把function变成函数表达式