JavaScript 开发人员经常遇到一种特殊的做法,即整个 .js 文件都封装在匿名函数中,例如 (function() { ... })()。虽然这可能看起来令人费解,但这种技术具有特定的优势,特别是对于命名空间以及控制函数和变量的可见性。
JavaScript 函数可以嵌套,允许私有成员函数和/或外部函数范围内的变量。例如:
在这种情况下,outerFunction 是全局可访问的,但 innerFunction 对于它来说是私有的。
匿名函数包装器提供一个类似的目的,有效地在文件中创建私有范围。外部世界无法访问包装器内的代码,从而防止全局范围的污染。此技术可用于将代码组织到命名空间中,从而允许创建自定义库或插件。
例如:
在这种情况下,private_var 和 private_function 在myPlugin 命名空间,但 public_function1 和 public_function2 可以从包装器外部访问。
自调用函数时最后的括号允许传递参数。例如,在创建 jQuery 插件时,开发人员传入 jQuery 或 $:
此技术在本地重新定义全局参数,提供性能优势并促进压缩。
JavaScript 中的匿名函数包装器是实现隐私、命名空间组织和提高性能的一种手段。它们提供了一种将代码封装在文件中的便捷方法,允许创建可重用的组件和库。
以上是为什么在 JavaScript 中使用匿名函数包装器?的详细内容。更多信息请关注PHP中文网其他相关文章!