繁体   English   中英

window.onload = function(){..} / window.onload = function(){..}();

[英]Differences between window.onload = function(){ .. } / window.onload = function(){ .. }();

我在项目中使用以下代码,该代码无效:

window.onload=function(){
 //code here
};

但如果我在最后添加()它的工作原理:

window.onload=function(){
 //code here
}();

我的问题是,有什么区别? ()最后是什么?

我认为第一个不起作用,因为其他地方的“onload”已被称为杀死这个。

如果我总是使用第二个选项,它会有相同的行为吗?

()在函数结束时,在声明后立即调用此function

window.onload=function(){
 //code ehere
}() // function is called 

在这种情况下

window.onload=function(){
 //code here
}; 

函数将被调用

window.onload()

当你在lambda函数之后有() ,它意味着你在那一行上立即调用函数。

所以,例如,

var x=function() {
    return 5;
}();
console.log(x);

将在控制台中记录5。 如果是

window.onload=function() {
    //code here
}();

该函数最有可能返回页面加载时调用的另一个函数。

例如,

window.onload=function() {
    return function() {
        console.log("Hello!");
    };
}();

将记录“你好!” 在页面加载时在控制台中。

function被分配给onload

window.onload=function(){
 //code ehere
};

function结果被分配给onload

window.onload=function(){
 //code ehere
}();

使用() ,您定义的函数会立即调用。 在这种情况下,它最好返回一个函数来分配给window.onload。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM