前一段时间,我问了一个关于同一问题的问题,@BenAlabaster彻底地解释了它in his answer,我想我仍然在这里错过了一段逻辑。调用分配给变量的JS函数
我试着在最后一个函数中调用分配给变量的函数,如下所示。 那么它没有工作。假设它发生是因为变量functionThree
不在addOnload()
函数之外,我试图将其移入内部,并且浏览器刚刚崩溃。
addOnload(functionOne);
addOnload(functionTwo);
addOnload(functionThree);
function addOnload(newFunction){
oldOnload = window.onload;
if(typeof oldOnload == "function"){
window.onload = function(){
if(oldOnload){
oldOnload();
}
newFunction(); //This is what I missed, and that's what caused the crash.
}
}
else{
window.onload = newFunction;
}
}
function functionOne(){
alert("This is the first function on this page!");
}
function functionTwo(){
alert("This is the second function on this page!");
}
functionThree = function(){
alert("This is the third function on this page!");
}
像@Tomalak下面说,我在'addOnload'函数内移动' functionThree = function()'来声明变量。由于我犯了一个错误,浏览器被吊死了。 – Dean 2010-08-29 21:25:46
另请参阅[函数表达式与函数声明](http://yura.thinkweb2.com/named-function-expressions/#expr-vs-decl) – 2010-08-29 21:41:45