js和jQuery(⾃动执⾏函数)⽴即执⾏函数和页⾯加载完后执
⾏函数写法
js ⽴即执⾏函数的写法。
js ⽴即执⾏函数只能⽤于匿名函数,如果声明了函数名是不可以⽤⽴即执⾏的,通常在函数表达式后加⼀对⼩括号()⽤于⽴即执⾏如果想让函数不被调⽤的情况下,⽴即⾃动执⾏,需要在函数表达式的末尾加⼀对括号()
⽰例代码: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、通常你不应该给⽴即执⾏函数传递太多的函数,因为它很快会成为⼀个负担——为了理解代码是如何⼯作的,你不得不经常上下滚动源代码。
三、⽴即执⾏函数的返回值
像其它任何函数⼀样,⼀个⽴即执⾏函数也能返回值并且可以复制给其它变量,例如
var result = (function () {
return 2 + 2;
}());
var result = (function () {
return 2 + 2;
})();
加载完页⾯后执⾏JS
js ⽹页加载完毕,执⾏js函数
⼀般⽹页加载完毕后,会马上执⾏js,给按钮,超链接等标签设置多种⾏为,实现这样的⽅式:DoFunction()、FirstFunction()、SecondFunction()为js的三个函数
(1)⼀个函数
(2)多个函数(函数数量过多,会出错)
DoFunction();
FirstFunction();
SecondFunction();
};
(3)多个函数(很多个函数)
复制代码
function addLoadEvent(func) {
var oldLoad = load;
if (load != "function") {
} else {
oldLoad();
func();
}
}
}
复制代码
addLoadEvent(DoFunction);
addLoadEvent(FirstFunction);
addLoadEvent(SecondFunction);
来源:wwwblogs/wwz-wwz/p/7705328.html
在js和jquery使⽤中,经常使⽤到页⾯加载完成后执⾏某⼀⽅法。通过整理,⼤概是五种⽅式(其中有的只是书写⽅式不⼀样)。
1:使⽤jQuery的$(function){};
2:使⽤jquery的$(document).ready(function(){});前两者本质上没有区别,第1种是第2种的简写⽅式。两个是document加载完成后就执⾏⽅法。
jquery源码在线
3:使⽤jQuery的$(window).load(function(){});
4:使⽤load = 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(){});load = function bbb(){}这两种⽅式,总是优先于执⾏。他们两者执⾏顺序也是根据谁在上⽅谁先执⾏。
使⽤5:<body "aaa()">总是最后执⾏。
jquery在页⾯加载的时候⾃动调⽤某个函数
在html⽂件内,引⼊jquery.min.js库⽂件,成功加载该⽂件,才能使⽤jquery中的⽅法。
在实际开发中,“$(document).ready(function(){})”⼀般简写为“$(function(){})”。
在function()⽅法体内,调⽤bg()函数,实现在页⾯加载的时候⾃动调⽤该函数,代码如下:
html的body标签⾥⾯的加载完页⾯后⾃动执⾏:
<html> <body οnlοad="load();"> </body> </html>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。