为什么当我触发一个函数时会引发一个未定义的错误?我有一个包含所有脚本的外部js文件,以及一个触发功能onchange的html div。
我已经在页面顶部添加了JS文件,而我正在调用的函数是JS文件中的第一个函数。为什么会返回未定义状态?我的其他功能似乎运行良好。
我所有的功能都在一个内部的外部JS文件中
$(document).ready(function(){
});
我以为JS是预编译的,所以声明函数的顺序等都没关系。
范例:JS:
function makeIcon3D() {
var icon3DStroke1 = getStrokefor3DIcon1();
function getAlert() {
alert('hi');
}
});
HTML:
<input type=text onchange=makeIcon3D();>
我在另一个StackOverflow线程中遇到了这个问题:
使用window属性将变量设置为全局名称空间可以产生奇迹。
window.getAlert = getAlert;
然后我可以在代码中的任何位置访问该变量。我仍然不完全理解为什么,但是现在可以了。
我感谢所有有益的答复,这些答复使我得出了最终答案。我仍在尝试从头开始编写JavaScript。我可以操纵它并阅读它,但是由于作用域范围不佳等原因,从头开始编写通常会以错误结尾。再次感谢
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句