JavaScript函数导致所有其他函数无法在js文件中工作

时间:2010-05-10 17:33:22

标签: javascript html

在safari 4和所有资源管理器浏览器中,每当我尝试在下面包含此函数的javascript文件中调用函数时,都不会调用第一个函数。

如果function2在同一个.js文件中,那么调用function1将不起作用,解释?

以下是产生问题的代码。每当我删除此功能,一切正常,所有功能都可以正常工作。所以这个功能导致了问题。

 function addOption(selectbox, value, text, class, id_nr )
 {
var optn = document.createElement("OPTION");
optn.text = text;
optn.value = value;
optn.id = value;
if (class==1){ optn.className = "nav_option_main"; }
selectbox.options.add(optn);
 }

任何想法为什么?

由于

2 个答案:

答案 0 :(得分:6)

可能因为你使用保留字(class)作为变量标识符而感到沮丧。尝试使用klazz或其他东西。

以下是保留字列表的链接:en.wikibooks.org/wiki/JavaScript/Reserved_Words
以下是Monsieur Crockford的一些话语(向下滚动或搜索“ JavaScript对保留字的限制非常沉重”这句话):crockford.com:)

答案 1 :(得分:2)

我注意到的问题:

1)class是保留字。不要将它用作变量。
2)我看不到你的其他功能,所以我假设你有一些隐含的全局和命名空间冲突。
3)我看不出这个函数在做什么,所以我假设它输出的行为与你之前的函数有冲突。