<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這關就過不去。所以直接返回true

    (2)chrome  輸出 false 

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

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

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



    很不是很明了了?

    對了if 中也埋藏了機關: 

    1.運算符優先級
    2. 類型轉換;
    3.== 與 === 的區別

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

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

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

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

    常用鏈接

    留言簿(21)

    隨筆分類(265)

    隨筆檔案(242)

    相冊

    JAVA網站

    關注的Blog

    搜索

    •  

    積分與排名

    • 積分 - 914354
    • 排名 - 40

    最新評論

    主站蜘蛛池模板: 97免费人妻在线视频| 亚洲AV无码专区亚洲AV桃| 免费人成网站永久| 成年人性生活免费视频| 亚洲狠狠狠一区二区三区| 国产精品白浆在线观看免费| 成人午夜亚洲精品无码网站| 特级无码毛片免费视频| 夫妻免费无码V看片| 亚洲男人天堂2018av| 成年女人免费v片| 亚洲娇小性色xxxx| 女人与禽交视频免费看| 亚洲妇女熟BBW| 成年女人18级毛片毛片免费| 亚洲中文字幕无码中文字| 在线视频免费观看高清| 亚洲熟伦熟女专区hd高清| 成年在线观看免费人视频草莓| 午夜在线a亚洲v天堂网2019| 国产精品成人观看视频免费 | 国产免费观看青青草原网站| 亚洲日韩乱码中文字幕| 国产成人免费ā片在线观看| 精品特级一级毛片免费观看| 又粗又大又长又爽免费视频 | 成人免费无码精品国产电影| 亚洲精品乱码久久久久久V| 国产又长又粗又爽免费视频| 国产精品美女久久久免费| 亚洲欧洲日产国码av系列天堂| 日韩在线永久免费播放| 亚洲中文字幕久在线| 国产福利免费在线观看| 中文字幕a∨在线乱码免费看 | 国产乱码免费卡1卡二卡3卡| 国产成人综合亚洲一区| 国产国拍亚洲精品mv在线观看| 久久经典免费视频| 青娱乐在线免费观看视频| 久久亚洲国产视频|