$(document).ready(function()和 $(function()执行顺序

 

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chenggil10/article/details/51740824

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="/common/js/jquery-1.8.3.js"></script>
    <script type="text/javascript">
        $(document).ready(function() {
           console.log("1");
        });

        $(function(){
            console.log("2");
            $(function(){
                console.log("3");
                $(function(){
                    console.log("4");
                });
            });
        });

        $(document).ready(function() {
            console.log("5");
            $(function(){
                console.log("6");
            });
        });

        $(function(){
            console.log("7");
            $(document).ready(function() {
                console.log("8");
            });
        });
    </script>
<body>
    执行顺序1,2,5,7,3,6,8,4
    $(document).ready(function() {}和$(function(){}) 是 一摸一样的,
    谁在前面谁在先执行,还有多个闭包函数时 按成次 一级一级运行的。
</body>
</html>

附加:

$(function() {}) 是$(document).ready(function()的简写。

这个函数什么时候执行的呢?

答案:DOM加载完毕之后执行。

DOM是什么?DOM就是一个html页面的标签树,树,树。

那么什么时候,DOM加载完成了呢?即页面所有的html标签(包括图片等)都加载完了,即浏览器已经响应完了,加载完了,全部展现到浏览器界面上了。

总结:

DOM在第一次页面加载完毕后,就在内存里了,无论后面怎么通过ajax的方式去局部修改html页面,都只是对内存中的DOM树进行修改,而DOM在第一次页面加载完毕后就已经加载完毕了。所以后面js文件(动态加载或者head中加载)再使用到$(function() {})函数肯定会执行的。

 


 

猜你喜欢

转载自blog.csdn.net/qq_34802511/article/details/82589487
今日推荐