一个Javascript函数中的错误导致其他函数停止工作

一个Javascript函数中的错误导致其他函数停止工作,javascript,coldfusion,Javascript,Coldfusion,这是一个获取有关事物如何工作的信息的一般性问题。如果有人需要更多解释,我可以发布一些示例代码 我在ColdFusion 8中有一个重要的程序,其中包括大约8个javascript函数。如果一个函数(称为NW)不起作用,可能是因为我丢失了一个花括号,其他一些函数可能在我修复错误之前不起作用。我在想这些功能之间可能有什么联系。在函数调用NW的地方,我可以理解,如果NW被破坏,它可能无法运行。但是,如果两个函数都是从同一个元素调用的,NW使用“onchange”调用,OtherFunction使用“o

这是一个获取有关事物如何工作的信息的一般性问题。如果有人需要更多解释,我可以发布一些示例代码

我在ColdFusion 8中有一个重要的程序,其中包括大约8个javascript函数。如果一个函数(称为NW)不起作用,可能是因为我丢失了一个花括号,其他一些函数可能在我修复错误之前不起作用。我在想这些功能之间可能有什么联系。在函数调用NW的地方,我可以理解,如果NW被破坏,它可能无法运行。但是,如果两个函数都是从同一个元素调用的,NW使用“onchange”调用,OtherFunction使用“onclick”调用,则会出现相同的问题,尽管两个函数都没有调用另一个,并且它们没有以任何其他方式连接


有人能给我解释一下“引擎盖下”发生了什么事吗?我不明白为什么这些单独的函数会以这种方式交织在一起。

忘记关闭一个花括号会使所有javascript无效,直到他能找到一个为止,因为函数声明或条件语句两者都需要:js引擎在你有一个有效的结构化代码之前不会查看里面的代码

如果js函数之间没有依赖关系,那么它可能中断的唯一原因是javascript语法中的错误。例如,如果在函数中引用不存在的变量,则在调用此特定函数时,该变量将停止。所有其他的都应该运行良好。此外,当某个函数在某个时间失败时,通常所有js代码都会在该时间之后停止工作


希望它是有意义的,但提供更多的细节将需要看到的代码。。。我试图给出一个一般性的解释:-)

因为JavaScript是一种解释性语言,所以在运行代码之前不会发现“致命”的语法错误。它们还可以产生级联效应

e、 g:

请注意,因为我错过了
函数nw()
的结束大括号,所以解释器不会关闭
nw()
,而这个
其他函数
nw
中的一个闭包,但是因为它没有用大括号关闭,所以它不能运行
nw
或现在假定的闭包。所以这两个函数都不起作用

Coldfusion还在某些页面上添加了自己的JS,这会使流程更难调试


希望这是相关的,但听起来像是你正在经历的。

Betty,你肯定应该发布代码示例,以澄清你无法理解的内容。目前你的问题不是很有建设性,可能已经结束。从你的个人资料中:“jhave design”你能解释一下为什么这些小错误对你来说如此重要,以至于你会花时间去寻找和修复它们吗?这对于大括号遗漏来说非常有意义。但是,如果函数中存在任何语法错误,例如在if语句中未能配对(and),则所有函数都将不会运行,即使我已使用错误正确地结束了函数。如果出现语法错误,解释器将无法在错误发生点之后继续运行。如果第二个函数是在之后的任何时间点定义的,或者可能使用与有错误的函数相同的引用框架,那么解释器将停止运行,第二个函数将不会运行。代码示例将有助于给出更清晰的答案。谢谢Cyril——这似乎解释了其中的一部分,但不是全部。因为案例太多,所以我没有包含代码——但下次我将展示一些代码。
function nw(){

/* some code */

function otherFunction(){
 /* other code*/
}