我最近写了一些javascript代码,根据一些XML,非常简单的东西填充了一个下拉列表.问题是我必须编写类似的代码才能在不同的页面上执行几乎相同的操作.
因为代码几乎相同,所以我将大多数函数命名为相同,认为它们永远不会包含在同一页面中.但是,由于两个javascript文件最终都包含在同一个HTML页面中,因此出现了命名冲突.
当我不得不返回并更改名称时,我只需将first_或second_添加到方法的名称中.这是一种痛苦,对我来说似乎并不优雅.我想知道是否有更好的方法来解决javascript中的名称冲突?
尝试各种库中使用的JavaScript 模块模式(或命名空间).
尝试干(不要重复自己),这样你就可以避免名字冲突.如果代码几乎相同,则最好通过创建可以处理这两种情况的函数来避免代码重复.该函数可以采用两个参数:填充下拉列表和使用哪些数据.这也有助于维护.
更新:我假设您从AJAX请求中获取XML.在这种情况下,您可以使用适当的参数创建动态匿名函数,以便在循环内进行回调.