匿名函数调用这样写的好处是什么? 本帖最后由 Opera_mini 于 2013-02-18 10:31:37 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1.避免占用全局变量名2.参数保护,函数是独立作用域,传递参数可以保护临时变量,闭包可以保存循环中需要保留的临时变量,还有组件开发时将命名空间传递到函数中用闭包保护起来,即使命名空间被后面的代码重置,原变量被闭包保护将仍然生存3.降低风险,因为没有变量名,中间代码又被闭包保护,js注入无法访问,减少被攻击风险 当然在具体环境中有什么作用要具体分析,也可能什么作用都没有,只是编程人员的习惯,至于弊端,大概就只有调试更困难吧,这是一种很好的js编程习惯,当然要确保自己能理解才使用,不然也可能造成内存泄露,但那该是编程人员的问题,不算这种写法的弊端 jQuery动态加载Select的项目后无法设置默认选中 节点移除后,该节点的事件是不是也一起删除 关于新建窗口居中的问题 怎样删除从光标到最后或最前的文本? 急!急!急!新手请教javascript问题 关于js的使用 利JS的DOM的parentNode.nodeName获取了一个P标签.怎么样更改这个P标签的属性? 打开新窗口然后给新窗口传值 如何用javascript做这样的效果(在线狂等....!!!!!) 请解释这两个函数,谢谢! 字符串反转为什么提示我undefined 求高手解答 谢谢 easyui layout center 初始化时不填充整个父窗口
2.参数保护,函数是独立作用域,传递参数可以保护临时变量,闭包可以保存循环中需要保留的临时变量,还有组件开发时将命名空间传递到函数中用闭包保护起来,即使命名空间被后面的代码重置,原变量被闭包保护将仍然生存
3.降低风险,因为没有变量名,中间代码又被闭包保护,js注入无法访问,减少被攻击风险
至于弊端,大概就只有调试更困难吧,这是一种很好的js编程习惯,当然要确保自己能理解才使用,不然也可能造成内存泄露,但那该是编程人员的问题,不算这种写法的弊端