The NoteBook of EricKong

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks

          當我們在JavaScript中,要執行一 個函數往往都是這樣寫

          function aa(){

              alert("first function");

          };

          aa();

          有人會問能否再簡化呢?答案是肯定的!只要你愿意我們還可以通過括號直 接調用函數

          (function aa(){

              alert("(function)();");

          })();

          當然,也又別的方法,試試在函數前寫上+或 者-吧!

          +function aa(){

              alert("+function();");

          }();

          這是,我們瀏覽器中的代碼應該是這樣的:

          <html>

              <head>

                  <title>JavaScript 高級編程 之 同名函數的執行順序</title>

                  <script language="javascript" type="text/javascript">

                      function aa(){

                          alert("first function");

                      };

                      aa();

                      (function aa(){

                          alert("(function)();");

                      })();

                      +function aa(){

                          alert("+function();");

                      }();

                  </script>

              </head>

              <body>

              </body>

          </html>

          現在讓我們來想一想瀏覽器會出現怎樣的結果?

          坐在后排的那哥們兒舉手了。聽聽他怎么說,他說:

          瀏覽器會按照1.first function 2.(function)(); 3.+function(); 方式執行

          我肯定一定會有很多人這樣回答。好的,你可以坐下了。還是讓我們去看看 執行的結果吧!

          瀏覽器結果: 1.+function(); 2.(function)(); 3.+function(); 真是不可思議,為什么呢?

          難道瀏覽器會認為在函數前面寫+或者-會 讓函數的執行級別更高?事實并非如此!下面我們再寫一個函數,便可以證明這個結論是錯誤的。

          function aa(){

              alert("last function");

          };

          或許,我們還會有帶參的函數需要執行。

          function aa(msg){

              alert(msg);

          }

          aa("hello topcss!");

          好了,我們再去看看瀏覽器是否執行最后一個函數,也就是帶參的函數呢。

          的確,事實正是如此,她執行了最后一個函數。太棒了。

          現在,我們得出了一個結論:

          當我們在一個JavaScript程 序中,同時出現多個同名函數時,瀏覽器會去執行最后一個函數。

          posted on 2010-05-29 10:44 Eric_jiang 閱讀(769) 評論(0)  編輯  收藏 所屬分類: JavaScript
          主站蜘蛛池模板: 洪湖市| 壤塘县| 体育| 龙门县| 万盛区| 青田县| 扶绥县| 宜昌市| 天门市| 普兰县| 伊通| 布尔津县| 于都县| 广东省| 买车| 类乌齐县| 西吉县| 潮州市| 德保县| 汨罗市| 聊城市| 夏邑县| 霍林郭勒市| 纳雍县| 芜湖市| 金秀| 团风县| 商水县| 连山| 驻马店市| 涞水县| 始兴县| 高邑县| 淮阳县| 洛川县| 长子县| 仪征市| 济源市| 广东省| 庆阳市| 静海县|