<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

    最新評論

    主站蜘蛛池模板: 久久亚洲色WWW成人欧美| 一本天堂ⅴ无码亚洲道久久| 黄页网站在线视频免费| 国产免费拔擦拔擦8x| 亚洲高清国产拍精品熟女| 免费看少妇作爱视频| 亚洲精品第一国产综合亚AV| 日产乱码一卡二卡三免费| 美女免费视频一区二区三区| 国产99视频免费精品是看6| 人人爽人人爽人人片A免费| 亚洲国产天堂久久综合| 成人久久免费网站| 久久久久久亚洲精品成人| 国产成人精品免费视频大| 亚洲欧美熟妇综合久久久久| 日本媚薬痉挛在线观看免费| 免费国产va视频永久在线观看| 亚洲日韩VA无码中文字幕| 中文字幕免费在线看| 亚洲最大的成网4438| 午夜宅男在线永久免费观看网| 亚洲精品无码专区在线| 免费大黄网站在线观| 中文字幕视频在线免费观看| 日本久久久久亚洲中字幕| 免费无码又爽又刺激聊天APP| 小说专区亚洲春色校园| 亚洲精品无码永久中文字幕| 精品无码国产污污污免费网站| 亚洲jjzzjjzz在线播放| 亚洲第一区在线观看| 一个人免费日韩不卡视频| 亚洲色偷偷色噜噜狠狠99| 亚洲自偷自偷图片| 青娱乐免费在线视频| 日韩精品免费一线在线观看| 亚洲午夜免费视频| 国产精品无码一二区免费| 久久青青草原国产精品免费| 亚洲色大成WWW亚洲女子|