Javascript函数在每次调用时都不会执行

Javascript函数在每次调用时都不会执行,javascript,Javascript,我有一个javascript函数,它是从我拥有的另一个函数调用的 由于某些原因,每次调用时都不会执行此函数。我尝试更改函数的名称,然后一切正常 我不明白为什么。以下是一个简单的例子: javascript 1: function a() { b(); } javascript 2: function b() { c(); } javascript 3: function c() { alert("Function c"); } 由于某些原因,函数c未执行。。。

我有一个javascript函数,它是从我拥有的另一个函数调用的

由于某些原因,每次调用时都不会执行此函数。我尝试更改函数的名称,然后一切正常

我不明白为什么。以下是一个简单的例子:

javascript 1:

function a()
{ 
   b();
}

javascript 2:

function b()
{ 
   c();
}

javascript 3:

function c()
{ 
   alert("Function c");
}

由于某些原因,函数c未执行。。。例如,如果函数c将被称为newC,那么它可以正常工作。

您可能在b的作用域中存在名称冲突,即在执行b时,可能会将c定义为当前作用域中的其他内容


解决方案:启动JavaScript调试器,在b中设置断点,然后检查此时的c是什么。

在b的作用域中可能存在名称冲突,即在执行b时,可能会将c定义为当前作用域中的其他内容


解决方案:启动JavaScript调试器,在b中设置断点,然后检查此时的c是什么。

对我来说,它工作正常。可能是代码中有错误。如果你发布完整的代码,我可能会有所帮助。这是工作代码

<html>
<head>
<script type="text/javascript">
function a()
{
b();
}
function b()
{
c();
}
function c()
{
alert("hello");
}
</script>
</head>
<body>
<form>
<label>Hello</label>
<button onclick="a()">v</button>
</form>
</body>
</html>

对我来说效果很好。可能是代码中有错误。如果你发布完整的代码,我可能会有所帮助。这是工作代码

<html>
<head>
<script type="text/javascript">
function a()
{
b();
}
function b()
{
c();
}
function c()
{
alert("hello");
}
</script>
</head>
<body>
<form>
<label>Hello</label>
<button onclick="a()">v</button>
</form>
</body>
</html>

这三个不同的编译块是否为文件?你实际上在执行什么;这些只是函数的定义,它们是如何被调用的?你能提供一个合适的注释吗?在您当前的示例中没有对a的调用。感谢您的Answer@AndrzejDoyle。函数a在单独的js文件中,函数b和c在同一个js文件中。实际上,我正在使用函数a执行第一个javascript文件,然后该函数将从第二个js文件调用函数b,函数b将从同一个文件调用函数c。@Zeta,谢谢你的回答。单击按钮iz时调用函数a。函数b执行正确,但不是c。你说你更改了函数名,它工作正常,所以请发布你用非工作名编写的原始代码。可能这个名称已经被其他函数使用过了……这三个不同的编译块(例如文件)是吗?你实际上在执行什么;这些只是函数的定义,它们是如何被调用的?你能提供一个合适的注释吗?在您当前的示例中没有对a的调用。感谢您的Answer@AndrzejDoyle。函数a在单独的js文件中,函数b和c在同一个js文件中。实际上,我正在使用函数a执行第一个javascript文件,然后该函数将从第二个js文件调用函数b,函数b将从同一个文件调用函数c。@Zeta,谢谢你的回答。单击按钮iz时调用函数a。函数b执行正确,但不是c。你说你更改了函数名,它工作正常,所以请发布你用非工作名编写的原始代码。可能这个名字已经被其他函数使用了……哦,你说得对@Aaron,我已经运行了调试程序,并且在js文件b中定义了另一个同名函数,因此出现了名称冲突。我这边的愚蠢错误。抱歉,再次感谢。哦,你说得对@Aaron,我已经运行了调试程序,并且在js文件b中定义了另一个同名函数,因此出现了名称冲突。我这边的愚蠢错误。抱歉,再次感谢。谢谢,我找到了解决方案,我定义了函数c两次,因此存在名称冲突。谢谢,我找到了解决方案,我定义了函数c两次,因此存在名称冲突。