js 立即执行函数的写法。
js 立即执行函数只能用于匿名函数,如果声明了函数名是不可以用立即执行的,通常在函数表达式后加一对小括号()用于立即执行
javascript">如果想让函数不被调用的情况下,立即自动执行,需要在函数表达式的末尾加一对括号()
示例代码:var fun=function(){alert("经验");}()
<script> // 声明一个函数表达式
var fun=function(){alert("经验");}();
//常见写法一:方式1、最前最后加括号
(function(){alert("经验")})();
//常见写法二:方式2、function外面加括号
(function(){alert("经验")}());
//方式3、function前面加运算符,常见的是!与void
!function(){alert(1);}();
void function(){alert(2);}();
</script>
二、立即执行函数的参数
可以给立即执行函数传递参数,例如
(function(who, when) {
console.log("I met " + who + " on " + when);
} ("Joe Black", new Date()));
记住:
1、立即函数内部是可以访问外部变量的,所以很多情况下,我们并不需要传参数。如:jQuery的window实参,如果不传入。内部也是可以直接使用的。
2、通常你不应该给立即执行函数传递太多的函数,因为它很快会成为一个负担——为了理解代码是如何工作的,你不得不经常上下滚动源代码。
javascript">三、立即执行函数的返回值
像其它任何函数一样,一个立即执行函数也能返回值并且可以复制给其它变量,例如
var result = (function () {
return 2 + 2;
}());
var result = (function () {
return 2 + 2;
})();
加载完页面后执行JS
javascript">js 网页加载完毕,执行js函数
一般网页加载完毕后,会马上执行js,给按钮,超链接等标签设置多种行为,实现这样的方式:
DoFunction()、FirstFunction()、SecondFunction()为js的三个函数
(1)一个函数
window.onload =DoFunction();
(2)多个函数(函数数量过多,会出错)
window.onload = function () {
DoFunction();
FirstFunction();
SecondFunction();
};
(3)多个函数(很多个函数)
复制代码
function addLoadEvent(func) {
var oldLoad = window.onload;
if (typeof window.onload != "function") {
window.onload = func;
} else {
window.onload = function () {
oldLoad();
func();
}
}
}
复制代码
addLoadEvent(DoFunction);
addLoadEvent(FirstFunction);
addLoadEvent(SecondFunction);
来源:https://www.cnblogs.com/wwz-wwz/p/7705328.html
javascript">在js和jquery使用中,经常使用到页面加载完成后执行某一方法。通过整理,大概是五种方式(其中有的只是书写方式不一样)。
1:使用jQuery的$(function){};
2:使用jquery的$(document).ready(function(){});前两者本质上没有区别,第1种是第2种的简写方式。两个是document加载完成后就执行方法。
3:使用jQuery的$(window).load(function(){});
4:使用window.onload = function(){} 第3种和第4种都是等到整个window加载完成执行方法体。两者也没有区别,只是一个使用dom对象,一个使用jQuery对象。
5:在标签上静态绑定onload事件,等待body加载完成,就会执行aaa()方法。
那么,这五种方式,执行的先后顺序是怎么样的呢?
通过下方代码验证发现:
使用1:jQuery的$(function){}和2:jquery的$(document).ready(function(){});
无论位置放置在哪里,总是优先其余三种方式
(原因是:这两种方式是在document加载完成后就执行,后三种是等到整个window页面加载完成后才执行),这两者之间的执行顺序是谁在上方谁优先执行。
使用3:jQuery的$(window).load(function(){});4:window.onload = function bbb(){}这两种方式,总是优先于执行。他们两者执行顺序也是根据谁在上方谁先执行。
使用5:<body "aaa()">总是最后执行。
jquery在页面加载的时候自动调用某个函数
在html文件内,引入jquery.min.js库文件,成功加载该文件,才能使用jquery中的方法。
jquery在页面加载的时候自动调用某个函数" src="https://img-blog.csdnimg.cn/img_convert/4474ca645f53fc1164d3bb108886b0bd.png" />
在实际开发中,“$(document).ready(function(){})”一般简写为“$(function(){})”。
在function()方法体内,调用bg()函数,实现在页面加载的时候自动调用该函数,代码如下:
html的body标签里面的加载完页面后自动执行:
<html> <body οnlοad="load();"> </body> </html>