首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Javascript中避免变量/函数冲突的方法(无jQuery插件)

问在Javascript中避免变量/函数冲突的方法(无jQuery插件)
EN

Stack Overflow用户
提问于 2013-03-20 15:48:12
回答 1查看 871关注 0票数 0

在Javascript中避免变量/函数冲突的方法是什么(不使用jQuery插件)?我想创建自己的新函数,但又想避免冲突。

我认为使用函数作用域(仅用于作用域的函数)是一种方法。其他的可能性是什么?

另外,当你将你的函数包装在一些东西中以避免冲突时,你如何从外部实际访问它呢?

我正在寻找基本的例子。

EN

回答 1

Stack Overflow用户

发布于 2013-03-20 16:21:54

如果只将方法附加到将调用它们的其他对象,则可以将代码包装在立即调用的函数表达式(IIFE)中,以分配这些方法,而无需创建任何新的全局对象或属性。此策略对于附加侦听器很有用,其中变量使用IIFE的执行上下文而不是全局上下文的闭包来共享,并且由于它们附加到已存在于执行上下文中的对象,因此可能不存在额外的全局对象或变量。

不过,这样的函数仍然可以访问全局函数。

第二种策略是创建一个命名对象,并将所有方法作为属性附加到该对象。还可以将值作为对象的属性共享,也可以通过IIFE分配的函数中的闭包来共享值。

在实践中,在所有全局变量上选择适当的随机前缀同样可以避免名称冲突,但它并不流行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15517975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档