奇怪的是,我无法解释! 当我从javascript调用函数时,例如:
<script type='text/javascript'>
callFunction()
</script>
调用该函数但它会为非声明的变量产生错误。
当我通过链接调用相同的功能,即:
<a href="#" onclick="callFunction(); return false;"> Link </a>
该功能成功运行并产生正确的输出!
为什么会这样?
答案 0 :(得分:1)
最有可能的做法是在声明函数之前尝试调用它 - 确保不是这种情况,并且函数未在您尝试调用它的块下面的某个地方声明。
答案 1 :(得分:1)
到时,第一个脚本被执行,还没有函数callFunction
。但是,当您单击链接时,页面已经加载足够远,以便该功能可用。
解决方法是在调用函数之前等待页面加载。几乎所有JavaScript框架(JQuery,MooTools等)都提供了一个事件处理程序,当DOM(即文档的底层结构)准备就绪时调用该事件处理程序。如果您不想使用框架,您也可以等待加载文档(即加载事件),但通常在domready之后调用。