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

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

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

    隨筆-57  評論-129  文章-0  trackbacks-0

    帶ID的函數表達式:

    var fn = function fnid(){};  

    按照ECMA262定義,上面這段腳本等價于:

    with({fnid:null}){  
      
    var fn = fnid = function(){};  
    }  

     


    注意:fnid在with外是不可見的,但是IE沒有嚴格遵守ECMA規范(同樣的情況發生在catch語法上)。在IE上相當于:
    var fnid = function(){};  
    var fn = fnid;  

    在剛剛發布的JSA1beta上,還不能處理這個問題(新版本將這周內發布)。同時,鑒于這種語法在不同瀏覽器上表現不同,還是建議盡量避免使用(這點上,我個人還是更喜歡ie的方式)。

    var語句:
    太常用了,但是,沒有注意還是很容易出問題。
    var 用來聲明全局或函數變量,但是,只是申明,重復申明也不能置空,范圍是函數或者全局空間,位置在函數或腳本頂端,與塊無關,這些與常用高級語言區別很大。

    怪癖的代碼

    var vaiable =0;  
    function test(){  
       variable 
    =1;//別擔心,不會改動全局變量vaiable  
       //do ..  
       var vaiable;//變量申明無順序(一律置頂),只是賦值有順序。  
    }  

     

    常見錯誤有:

    var flag;//這里可能有人(包括我自己)喜歡自做聰明的利用一下變量的初始值undefined  
    while(!flag){//沒準那個角落里面已經給當前函數內同名變量給賦值了就慘了  
      //..  
    }  

     

    posted on 2007-06-30 16:47 金大為 閱讀(1256) 評論(3)  編輯  收藏 所屬分類: JavaScript

    評論:
    # re: JS幾處怪癖的語義 2007-06-30 21:44 | 豬頭小隊長
    var vaiable =0;
    function test(){
    variable =1;//別擔心,不會改動全局變量vaiable
    }

    test();
    alert(vaiable);

    打印的是1,而不是0,怎么回事?  回復  更多評論
      
    # re: JS幾處怪癖的語義 2007-07-01 08:11 | 金大為
    @豬頭小隊長
    呵呵,你看看你這個函數和我的例子有什么不同吧:)  回復  更多評論
      
    # re: JS幾處怪癖的語義 2007-07-01 10:39 | 豬頭小隊長
    hehe,faint  回復  更多評論
      
    主站蜘蛛池模板: 丁香花免费高清视频完整版| 日韩视频在线观看免费| 国产成人A在线观看视频免费| 久久夜色精品国产亚洲AV动态图 | 在线视频免费观看高清| 亚洲春色另类小说| 国产在线jyzzjyzz免费麻豆| 亚洲人成电影在线天堂| 美丽姑娘免费观看在线观看中文版| 亚洲VA成无码人在线观看天堂| 久久青青草原国产精品免费| 亚洲AV无码国产精品麻豆天美 | MM1313亚洲精品无码久久| 女人张开腿给人桶免费视频| 亚洲欧美日韩中文字幕一区二区三区| 人禽杂交18禁网站免费| 亚洲人成网站免费播放| 国产jizzjizz视频免费看| 羞羞漫画小舞被黄漫免费| 亚洲午夜国产片在线观看| 国产精品一区二区三区免费 | 在线观看亚洲成人| 国产精品免费观看调教网| 久久亚洲私人国产精品vA| 永久免费av无码网站韩国毛片| 老牛精品亚洲成av人片| 国产亚洲老熟女视频| 日本一区二区免费看| 亚洲国产成a人v在线观看| 国产一级大片免费看| 国产情侣久久久久aⅴ免费| 中文字幕亚洲精品| 免费看少妇作爱视频| 国产伦精品一区二区免费| 亚洲成在人天堂一区二区| 无码国产精品一区二区免费式影视 | 亚洲成av人片在线天堂无| 亚洲精品无码日韩国产不卡?V| 久久久久免费精品国产| 99亚偷拍自图区亚洲| 亚洲精品午夜无码专区|