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

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

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

    李威 さぽている

    小說翻譯,日語相關轉移至http://blog.hjenglish.com/liwei

    javascript兩則思考

    1.
    http://www.jsforest.org/2010/07/29/js-this指向的小測試/


    這個說是在考this的指向,實際上是在考變量的作用域。
    先說其中第二題。o是一個對象,doIt是它的方法,那么doIt的this自然指向o
    第二題結果為10無懸念。

    再來看第一題,在doIt的內部加入了一個setTimeout方法,setTimeout又調用了一個匿名方法。
    在javascript中,函數(shù)(或方法)也是對象,那么匿名方法中的this應該指向doIt,結果為20.

    實際上將代碼跑了下,第一題結果為5.哪里錯了?

    問題出在setTimeout。
    window.setTimeout(code, delay)
    
    When code is executed, it is executed in the context of the Window object. If code is a function, the Window object is the value of the this keyword. If code is a string, it is evaluated in the global scope with the Window object as the only object on the scope chain. This is true even if the call to setTimeout( ) occurred within a function with a longer scope chain.

    這段話說明了setTimeout不管在哪里執(zhí)行,其作用域都是在Window下,this一直指向Window。
    第一題的x=5是全局變量,Window作用域下的。

    這題說是在考this的指向,原來最終考的是個setTimeout的問題……被耍了



    2.
    http://www.css88.com/archives/2429

    看到這個問題,首先注意到的是第一個用了===,第二個沒有,而javascript是個弱類型語言,使用provisionalTable[item]取值沒判斷類型。
    然后,試著找了Object中判斷值是否存在的方法,譬如provisionalTable.item ,in等都沒判斷類型。
    想法一,重載[]方法,不過,這個怎么重載?又不是個function
    想法二,數(shù)字是利用toString()轉成字符串的,那么重載Number.prototype.toString=function(){return this;}; 6=='6'返回false了,但provisionalTable[item]取值還是一樣
    想法三,provisionalTable同時存在6和'6'時,provisionalTable[item]能區(qū)分這兩者,那么在provisionalTable中加入一個設為true時,將另一個也加入,并設為false。但這樣會有效率問題,事實上,acsu提出的方法里僅僅加了個typeof方法,就將效率損失殆盡。
    突然想到,這個問題不是找解決方法,而是找最優(yōu)方法
    嗯,作罷,效率問題不是我等小民該考慮的,這個必須從根本上重構javascript才行

    不過思考下,還是能學到很多東西的

    posted on 2010-08-05 22:07 李威 閱讀(152) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 亚洲一区日韩高清中文字幕亚洲| 99re热免费精品视频观看 | 亚洲色无码一区二区三区| 亚洲国产精品美女久久久久| 成人免费毛片内射美女APP| 亚洲资源在线观看| 国产精品视频免费| 亚洲精品女同中文字幕| 国产大片91精品免费观看男同| 成人婷婷网色偷偷亚洲男人的天堂| 免费高清在线爱做视频| 亚洲AV电影天堂男人的天堂| 免费一级毛片在线播放不收费| 直接进入免费看黄的网站| 亚洲国产小视频精品久久久三级 | 青青青免费国产在线视频小草| 亚洲欧洲国产综合| 色妞WWW精品免费视频| 国产精品亚洲精品爽爽| 亚洲精品久久久www| 国产一级婬片A视频免费观看| 久久久久亚洲AV无码专区首| 四虎在线视频免费观看视频| 亚洲人成网站999久久久综合| 日批日出水久久亚洲精品tv| 国色精品va在线观看免费视频| 亚洲综合图片小说区热久久| 午夜老司机免费视频| 久久久久久久久久久免费精品| 亚洲一区影音先锋色资源| 成**人免费一级毛片| 亚洲免费视频一区二区三区| 久久精品国产亚洲AV香蕉| 日本免费v片一二三区| 永久免费av无码入口国语片| 亚洲中文字幕无码久久2020| 国产AⅤ无码专区亚洲AV| 国产在线国偷精品产拍免费| 毛片基地看看成人免费| 亚洲日本人成中文字幕| 在线观看亚洲成人|