2012-07-17 71 views
0

这是获取有关工作方式信息的一般问题。如果有人需要更多解释,我可以发布一些示例代码。Javascript函数中的错误导致其他人停止工作

我在ColdFusion的8大幅方案,其中包括约8 JavaScript函数。如果一个函数,称为NW,不起作用,也许是因为我丢了一个大括号,其他的一些函数可能无法工作,直到我修复该错误。我试图去思考这些功能之间可能存在的联系。如果一个函数调用NW,我可以理解,如果NW被破坏,它可能无法运行。但是,如果两者都从相同的元素调用,NW使用“onchange”,而其他函数使用“onclick”调用,但是同样的问题发生,但是既不是调用另一个,也不以任何其他方式连接。

有人能向我解释什么是“引擎盖下”要参加吗?我不明白为什么这些单独的功能是这样交织在一起的。

+1

贝蒂,你绝对应该发布代码示例,以澄清你到底无法理解什么。目前你的问题不是很有建设性,可能会被关闭。 – Sergii 2012-07-17 08:51:10

+0

从你的个人资料:“jhave designed” – 2015-07-06 07:45:02

+0

你能否解释为什么这些小错误对你非常重要,你会花时间找到并修复它们? – 2015-07-07 03:10:05

回答

0

忘记关闭一个大括号使所有你的JavaScript无效,直到他能找到一个为函数声明或条件语句既需要:JS引擎将不会在代码看里面,直到你有一个有效的结构化的代码。

如果你有JS功能之间没有相关性,那么它为什么可以打破的唯一原因是在JavaScript语法错误。例如,如果你在一个函数中引用一个不存在的变量,当这个特定函数被调用时它将停止。所有其他的应该运行良好。另外,当一个函数在某个时间失败时,通常所有的js代码都会在这之后停止工作。

希望它是有意义的,但提供更多的细节需要看到的代码...这是我尝试:-)

+0

感谢西里尔 - 这似乎说明了一些,但不是全部。我没有包含代码,因为有这么多的情况 - 但下次我会显示一些代码。 – 2012-10-27 19:58:14

2

一个通用的解释,因为JavaScript是一种解释型语言,是“致命”的语法错误直到你运行代码才会被捕获。他们也可以有层叠效应。

如:

function nw(){ 

/* some code */ 

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

注意,因为我错过了function nw()末大括号解释不会关闭nw()otherFunction是内nw封闭,但因为它不是用大括号关闭它无法运行nw或现在假定关闭。所以这两个功能都不起作用

ColdFusion的还增加了在一些网页上,可以使这一过程难以调试自己的JS。

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

+0

这对于大括号省略是非常有意义的。但是,如果函数中有任何语法错误,例如在if语句中无法与(和)配对,则所有函数都将不会运行,即使我已正确地使用该错误结束函数。 – 2012-10-25 23:42:41

+0

出现语法错误时,解释程序无法继续运行错误发生的点。如果你的第二个函数被定义在任何一个点之后,或者可能与具有该错误的函数相同的参照系,那么解释器将会停止,第二个函数将不会运行。代码示例将有助于给出更清晰的答案。 – Dpolehonski 2012-10-26 11:51:15

相关问题