日期:2014-05-16  浏览次数:20269 次

匿名函数调用这样写的好处是什么?
本帖最后由 Opera_mini 于 2013-02-18 10:31:37 编辑
(function(num1,num2){
var sum = num1 + num2;
alert(sum);
}(4,5));
js的匿名函数调用相比别的写法,这样写的好处是什么?利弊都有哪些?
javascript function

------解决方案--------------------
1.避免占用全局变量名
2.参数保护,函数是独立作用域,传递参数可以保护临时变量,闭包可以保存循环中需要保留的临时变量,还有组件开发时将命名空间传递到函数中用闭包保护起来,即使命名空间被后面的代码重置,原变量被闭包保护将仍然生存
3.降低风险,因为没有变量名,中间代码又被闭包保护,js注入无法访问,减少被攻击风险
------解决方案--------------------
当然在具体环境中有什么作用要具体分析,也可能什么作用都没有,只是编程人员的习惯,
至于弊端,大概就只有调试更困难吧,这是一种很好的js编程习惯,当然要确保自己能理解才使用,不然也可能造成内存泄露,但那该是编程人员的问题,不算这种写法的弊端