解决javascript中名称冲突的最佳方法是什么?
我最近写了一些javascript代码,这些代码填充了一个基于XML的下拉列表,非常简单。问题是,我必须编写类似的代码,才能在不同的页面上执行几乎相同的操作 由于代码几乎相同,我将大多数函数命名为相同的,认为它们永远不会包含在同一页中。但是,由于两个javascript文件最终都包含在同一个HTML页面中,因此出现了命名冲突 当我必须返回并更改名称时,我只是在方法名称中添加first_uu或second_uu。这是一种痛苦,对我来说似乎不太优雅。我想知道是否有更好的方法来解决javascript中的名称冲突?尝试各种库中使用的javascript(或名称空间) 尽量保持干燥(不要重复),这样可以避免名称冲突。如果代码几乎相同,那么最好通过创建一个可以处理这两种情况的函数来避免代码重复。该函数可以采用两个参数:填充哪个下拉列表和使用什么数据。这也有助于维护性解决javascript中名称冲突的最佳方法是什么?,javascript,Javascript,我最近写了一些javascript代码,这些代码填充了一个基于XML的下拉列表,非常简单。问题是,我必须编写类似的代码,才能在不同的页面上执行几乎相同的操作 由于代码几乎相同,我将大多数函数命名为相同的,认为它们永远不会包含在同一页中。但是,由于两个javascript文件最终都包含在同一个HTML页面中,因此出现了命名冲突 当我必须返回并更改名称时,我只是在方法名称中添加first_uu或second_uu。这是一种痛苦,对我来说似乎不太优雅。我想知道是否有更好的方法来解决javascript
更新:我假设您从AJAX请求获取XML。在这种情况下,您可以使用适当的参数动态创建匿名函数,以便在循环中进行回调。我将研究如何将两段代码(函数?)合并到一个函数中。如果您需要填充列表框,则将列表框id传递到函数中,这样您就不会硬编码为仅在一个控件上操作 我是在火箭公司的网站上做这件事的,在那里我销售的火箭发动机具有不同的延迟值,但本质上,它们是相同的产品,只是延迟值不同 也许这可以解释我想说的话。。。如果一个图像文件碰巧丢失了,我会使用它,它会显示一个“无图像”图像来代替真实图像
function goBlank(image)
{
if(image) {
var imgobj = document[image];
imgobj.src="/images/blank.png";
}
}
在本例中,您可以使用以下名称来调用它:
<img src="/images/aerotech.png" name="header" onError="goBlank('header');">
如果你需要更多的例子,比如使用列表框,请告诉我。甚至可以发布一些您的示例代码。另一种选择(如果可能)是将代码小心地绑定到元素本身
e、 g
document.getElementById('foo').stuff=function(msg){
//在这里你想做什么就做什么。。。
警惕('你超过我:'+味精);
};
<input type="text" name="foo" id="foo" value="World" onchange="this.stuff('Hello ' + this.value);"/>
<script>
document.getElementById('foo').stuff = function(msg){
//do whatever you want here...
alert('You passed me: ' + msg);
};
</script>