• javascript执行顺序


    形如$(function(){});内的代码的执行优先级是非常低的,它是一个假的自执行方法。

    举个栗子:

    <html>
    <head>
    <script language="javascript" src="jquery-1.7.1.min.js"></script>
    <script>
    var x="123";
    $(function(){
    console.log("x="+x);
    });
    x="321";
    </script>
    </head>
    <body>
    </body>
    </html>

    这段代码的输出结果是x=321;而不是x=123;

    不过如果将其改成如下形式:

    <html>
    <head>
    <script language="javascript" src="jquery-1.7.1.min.js"></script>
    <script>
    var x="123";
    (function(){
    console.log("x="+x);
    })();
    x="321";
    </script>
    </head>
    <body>
    </body>
    </html>

    就成了真自执行函数,定义完成之后立即执行,输出x=123.

    如果在一个jsp页面中使用方法一的方式写了一段代码,而在另一个页面中使用<%@ include>标签将其引入,恰好两个页面中有一个JavaScript全局变量是同名的。

    那么问题就出现了,页面一中的方法实际上使用的是页面二中的变量。

    这是个坑。

    不过这么做也有个好处,可以在页面二中控制页面一的执行流程,在不需要修改页面一的情况下,可惜貌似没发现有什么用。

  • 相关阅读:
    Cocos2d-x之绘制线条
    Cocos2d-x之绘制填充不规则多边形
    unittest
    检查代码错误和代码风格问题
    命名
    二进制数据
    python 后台运行
    分页
    编码
    格式化
  • 原文地址:https://www.cnblogs.com/liujinming/p/10821510.html
Copyright © 2020-2023  润新知