window.onload似乎没有在chrome控制台中运行指定的函数,我似乎找不到任何人使用该解决方案。
代码:
function preStart() {
console.log("Hello");
}
window.location = 'https://www.google.com/';
window.onload = preStart;
运行时window.location成功运行但“preStart”没有。
我意识到window.onload
在window.location
之后不起作用,但有解决方法吗? (在页面加载后运行函数的地方)
由于我是JavaScript的新手,请解释任何答案/解决方案。
对此有任何帮助,我将非常感激。
答案 0 :(得分:0)
您基本上是将preStart函数传递给window.onload方法。
我看到初学者javascript开发人员对preStart和preStart()函数之间的区别有点误解。
在某些情况下是这样的:
SetTimeout(function(){
}, 2000)
你可以直接将函数传递给SetTimeout,就像你上面所做的那样,所以如果你的preStart有一些你想要在2000秒后执行的逻辑,你可以:
SetTimeout(preStart,2000)
你可以看到函数preStart直接传递而没有'()'因为SetTimeout需要函数,所以不需要调用它。
在你的情况下你想在windows.load上执行preStart,所以你需要'()'执行它。
所以做这样的事情:
function preStart() {
console.log("Hello");
}
window.location = 'https://www.google.com/';
window.onload = preStart();
很抱歉,如果我做了一个曲线来解释这个问题,但我希望它有所帮助。