函数调用javascript

时间:2011-01-26 13:34:40

标签: javascript function hyperlink

奇怪的是,我无法解释! 当我从javascript调用函数时,例如:

<script type='text/javascript'>
  callFunction()
</script>

调用该函数但它会为非声明的变量产生错误。

当我通过链接调用相同的功能,即:

<a  href="#" onclick="callFunction(); return false;"> Link  </a>

该功能成功运行并产生正确的输出!

为什么会这样?

2 个答案:

答案 0 :(得分:1)

最有可能的做法是在声明函数之前尝试调用它 - 确保不是这种情况,并且函数未在您尝试调用它的块下面的某个地方声明。

答案 1 :(得分:1)

到时,第一个脚本被执行,还没有函数callFunction。但是,当您单击链接时,页面已经加载足够远,以便该功能可用。

解决方法是在调用函数之前等待页面加载。几乎所有JavaScript框架(JQuery,MooTools等)都提供了一个事件处理程序,当DOM(即文档的底层结构)准备就绪时调用该事件处理程序。如果您不想使用框架,您也可以等待加载文档(即加载事件),但通常在domready之后调用。