js 和jQuery(自动执行函数)立即执行函数和页面加载完后执行函数写法

news/2024/7/10 23:02:04 标签: javascript, jquery

 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) {
&nbsp; &nbsp; 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中的方法。

如何让<a class=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>

 

 


http://www.niftyadmin.cn/n/1480196.html

相关文章

大文件下载

interface HMViewController () <NSURLConnectionDataDelegate> /** * 用来写数据的文件句柄对象 */ property (nonatomic, strong) NSFileHandle *writeHandle; /** * 文件的总大小 */ property (nonatomic, assign) long long totalLength; /** * 当前已经写入的文件…

ASP.NET2.0 缓存技术详解(原创)

记得一位很好的朋友-东哥说过在大学毕业之前一定要做的几件事情&#xff1a;1、看懂petshop的架构&#xff1b;2、熟练运用缓存技术&#xff1b;3、petshop的翻新。这几天来闲下来了认真的研究了一下缓存技术&#xff08;Cache技术&#xff09;。在这里和大家分享一下&#xff…

python十大标准_python基础之五大标准数据类型

五大标准数据类型在内存中存储的数据可以有多种类型。例如&#xff0c; 一个人的名字可以用字符来存储&#xff0c;年龄可以用数字来存储&#xff0c; 爱好可以用集合来存储等等。Python有五个标准的数据类型&#xff1a;Numbers(数字)String(字符串)List(列表)Tuple(元组)Dict…

URL中带特殊字符导致传值丢失的处理方式

我们知道发送一个http请求时&#xff0c;如果使用的是GET方法&#xff0c;请求的参数会包含在url中并通过&进行分割&#xff0c;如&#xff1a;http://www.example.com/index?namename1&idid2。服务端根据url中的参数获取对应的值。java编写的后台代码&#xff0c;可通…

《编写有效用例》阅读笔记03

在软件需求分析的课上&#xff0c;老师常常和我们讲软件需求分析要像讲故事一样&#xff0c;让技术人员在看到文档的时候能有代入感&#xff0c;这样就能更清晰的了解到用户的行为动机和业务需求。在软件需求里讲故事&#xff0c;其实就是用户场景分析。最近的阅读中涉及到了很…

岛上的兄弟姐妹,请您过来玩

岛上的兄弟姐妹&#xff0c;请您过来玩题记&#xff1a;海峡两岸三通直航感怀&#xff0c;谨以此文表达两岸人们心心相连的情怀——文/代腾飞 2008年12月15日 于成都岛上的兄弟姐妹&#xff0c;请您过来玩华夏五千年&#xff0c;我们本来就是一家人&#xff0c;血脉相连只因近…

debian mysql 远程连接_MySql Server(Debian Linux)远程访问设置

1. 登录Mysql Server:$mysql -u root -p2. 检查网络&#xff0c;Server是否允许远程连接:mysql> show variables like ‘%skip_networking%‘;  此值应该为‘OFF’&#xff0c;一般默认值即为‘OFF‘, 表示允许TCP/IP连接skip_networking: 只允许通过一个套接字文件(Unix/…

将文本转换成HTML

需要引入&#xff1a;jquery-latest.min.js文件 <script type"text/javascript" src"jquery-latest.min.js"></script> function convertText(textarea) {//var brPref document.getElementById("oldbr").checked;//偏好: <br…