<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    一道精妙的題目及解答:

    f = function() { return true; };
    g = function() { return false; };

    (function()
    {
       
     if (g() && [] == ![])
     {
      f = function f()
      {
       return false;
      };
      
            function g()
      {
       return true;
      }
        }
    })();

    alert(f()); // true or false ?


    請先思考。。。。。
















    答案很多。

    (1) firefox 下 輸出true

        參考資料 :https://developer.mozilla.org/en/JavaScript/Guide/Functions

        文章指出:

    A function can be defined based on a condition. For example, given the following function definition:

    view plainprint
    ?
    if (num == 0){  
      function myFunc(theObject) {  
        theObject.make 
    = "Toyota"  
      }  
    }  
    the myFunc function is only defined 
    if the variable num equals 0. If num does not equal 0, the function is not defined, and any attempt to execute it will fail.



    所以在if這關(guān)就過不去。所以直接返回true

    (2)chrome  輸出 false 

    在chrome 以及IE 9中是腳本引擎是符合ECMA 之規(guī)范,所以腳本  function g() 
    在 匿名函數(shù)體中有預(yù)解析(可查看淺談JavaScript 的運行機理

    (3)IE 6,7,8 輸出false 

    到跟chrome不同,其中IE 6,7,8 中錯誤的將 f = function f() 也在匿名函數(shù)中預(yù)解析至頂部聲明。



    很不是很明了了?

    對了if 中也埋藏了機關(guān): 

    1.運算符優(yōu)先級
    2. 類型轉(zhuǎn)換;
    3.== 與 === 的區(qū)別

    因為![] 為false ,于是會將[] 轉(zhuǎn)換成字符串"" ,在== 不檢查類型的情況下,非嚴格的將空字符串與false 匹配上。

    所以會有([] == ![] )   為 true
        

    在JS 手冊中關(guān)于 ‘==’ 有 原文: “如果兩表達式的類型不同,則試圖將它們轉(zhuǎn)換為字符串、數(shù)字或 Boolean 量。”

    posted on 2010-10-11 03:48 -274°C 閱讀(307) 評論(0)  編輯  收藏 所屬分類: web前端

    常用鏈接

    留言簿(21)

    隨筆分類(265)

    隨筆檔案(242)

    相冊

    JAVA網(wǎng)站

    關(guān)注的Blog

    搜索

    •  

    積分與排名

    • 積分 - 914554
    • 排名 - 40

    最新評論

    主站蜘蛛池模板: 国产三级在线免费观看| 亚洲免费中文字幕| 亚洲电影一区二区三区| 99国产精品永久免费视频| 亚洲精品成a人在线观看☆| 亚洲精品97久久中文字幕无码| 日本卡1卡2卡三卡免费| 亚洲av午夜精品无码专区| 四虎1515hm免费国产| 无码中文字幕av免费放dvd| 亚洲偷自拍另类图片二区| 伊人婷婷综合缴情亚洲五月| 日本免费一区二区在线观看| 国产成人亚洲精品蜜芽影院| 亚洲av无码成h人动漫无遮挡| 最近免费中文字幕4| 两个人看的www高清免费视频| 亚洲制服丝袜在线播放| 红杏亚洲影院一区二区三区| 欧美日韩国产免费一区二区三区| 国产精品免费久久久久影院 | 亚洲三级在线视频| 免费又黄又爽又猛的毛片| 3d成人免费动漫在线观看| 青青青视频免费观看| 亚洲免费视频网址| 国产亚洲成归v人片在线观看| 免费无码A片一区二三区| 国产在线精品一区免费香蕉| 亚洲国产综合AV在线观看| 亚洲无删减国产精品一区| 久久久久亚洲AV成人网人人网站| 成年女人18级毛片毛片免费观看| 久久亚洲免费视频| 一级日本高清视频免费观看 | 亚洲乱亚洲乱妇无码| 久久精品国产亚洲AV香蕉| 国产成人综合亚洲AV第一页| 日日操夜夜操免费视频| 久草免费在线观看视频| 免费成人在线电影|