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

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

    这是个坑。

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

  • 相关阅读:
    stone brook Introduction to Mathematical Statistics
    mongodb python
    CodesBay
    人机交互的本质是画图
    Latex模版–Review and Response Letters
    mongo with python
    OpenStack架构学习与解析
    Python类方法
    python装饰器
    java.sql.SQLException: Io 异常: Connection reset by peer: socket write error
  • 原文地址:https://www.cnblogs.com/liujinming/p/10821510.html
Copyright © 2011-2022 走看看