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) {
&nbsp; &nbsp; 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)一个函数

 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
在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在页面加载的时候自动调用某个函数

在实际开发中,“$(document).ready(function(){})”一般简写为“$(function(){})”。

在function()方法体内,调用bg()函数,实现在页面加载的时候自动调用该函数,代码如下:

html的body标签里面的加载完页面后自动执行:

      <html> <body οnlοad="load();"> </body> </html>

 

 

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值