• 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全局变量是同名的。

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

    这是个坑。

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

  • 相关阅读:
    android AudioManager类详解
    Android的Media(录音,播放音乐,播放视频等)
    加载大图片报OOM错误
    cmd更换编码类型
    通讯录数据库插入数据
    开机自启加入任务栈
    特殊的广播接收者(界面注册)
    将Image的名字转换为R.image.id
    通过XML文件生成View
    判断某张表是否存在
  • 原文地址:https://www.cnblogs.com/liujinming/p/10821510.html
Copyright © 2020-2023  润新知