注:下面的param是一个之前定义了的对象 “coding...”为省略的操作语言
param = (function(obj){
//coding...
})(param)
/*对上面这个方法正确的理解可参见:http://www.cnblogs.com/xiaohuochai/p/5731016.html 立即调用的函数表达式IIFE(Imdiately Invoked Function Expression)*/
等价于
var aa = function(obj){
//coding...
}
param = function(param);
上面的方法相当于对对象param的旧值进行操作,实现给其重新赋值。
括号里的funtion(obj)相当于定义方法,(param)即是function被调用时的参数(obj)。
此处将方法的定义及调用都直接放在了一处。
这样就比较好理解param=()();这种写法的存在了。
真实案例:
param = (function(obj){
var str = '';
for (var prop in obj) {
str = str + prop + '=' + obj[prop] + '&';
}
return str;
})(param);