在Javascript中避免变量/函数冲突的方法是什么(不使用jQuery插件)?我想创建自己的新函数,但又想避免冲突。
我认为使用函数作用域(仅用于作用域的函数)是一种方法。其他的可能性是什么?
另外,当你将你的函数包装在一些东西中以避免冲突时,你如何从外部实际访问它呢?
我正在寻找基本的例子。
发布于 2013-03-20 16:21:54
如果只将方法附加到将调用它们的其他对象,则可以将代码包装在立即调用的函数表达式(IIFE)中,以分配这些方法,而无需创建任何新的全局对象或属性。此策略对于附加侦听器很有用,其中变量使用IIFE的执行上下文而不是全局上下文的闭包来共享,并且由于它们附加到已存在于执行上下文中的对象,因此可能不存在额外的全局对象或变量。
不过,这样的函数仍然可以访问全局函数。
第二种策略是创建一个命名对象,并将所有方法作为属性附加到该对象。还可以将值作为对象的属性共享,也可以通过IIFE分配的函数中的闭包来共享值。
在实践中,在所有全局变量上选择适当的随机前缀同样可以避免名称冲突,但它并不流行。
https://stackoverflow.com/questions/15517975
复制相似问题