var TEST = (function (undefined) {
})(TEST);
这是什么写法,有能看懂的吗
执行匿名函数,将返回值复制给TEST变量,有什么看不懂的?最多就是参数什么味undefined有点乌黑聊而已,要获取出入的参数需要使用arguments来获取,不能通过形参名称获取了,undefined是关键字,定义不了形参
还有个var申明变量的变量提升问题,所以执行匿名函数传递TEST不会不错
在函数表达式存储在变量后,变量也可作为一个函数使用:
实例
var x = function (a, b) {return a * b};
var z = x(4, 3);
来源:http://www.runoob.com/js/js-function-definition.html
这属于函数式编程,详见jsp语言
通过var关键字定义一个函数表达式,并通过()立即执行这个函数表达式
JSP语言去看下,稍微搜索一下应该就明白了