zoukankan      html  css  js  c++  java
  • 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全局变量是同名的。

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

    这是个坑。

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

  • 相关阅读:
    Python实现定时监测屏幕
    近期仿真遇到的问题汇总
    Python爬虫
    好用的浏览器插件
    视频剪辑软件
    MATLAB
    常用电脑辅助快捷键
    绘制PCB软件
    ANSYS19.0安装教程and遇到的各种问题以及目前知道的解决方式
    pyton脚本快速运行
  • 原文地址:https://www.cnblogs.com/liujinming/p/10821510.html
Copyright © 2011-2022 走看看