憨厚生

          ----Java's Slave----
          ***Java's Host***

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            165 隨筆 :: 17 文章 :: 90 評論 :: 0 Trackbacks
               在一些框架中看到了類似這樣的寫法:+new Date();感覺有些怪,查閱了相關資料和一些網友的幫助.對此用法解釋如下,希望對大家有所幫助,不合適的地方請大家指正!
          一,對于引用類型對象(我指的是String,Date,Object,Array,Function,Boolean)的+運算符運算過程如下!
              1,首先調用此對象的valueOf方法,得到返回數值A
              2,然后把此數值A轉換成數字,得到的是最終數值 

              我的測試如下:
             
          function w(s){
                document.writeln("<br/>");
                document.writeln(s);
                document.writeln("<br/>-----------------------------");
                }
             String.prototype.valueOf=function(){return 1;};
             w(+new String("sss"));//輸出1
             String.prototype.valueOf=function(){return "a";};
              w(+new String("sss"));//輸出NaN
            
            
             Date.prototype.valueOf=function(){return 1;};
             w(+new Date());//輸出1
             Date.prototype.valueOf=function(){return "a";};
              w(+new Date());//輸出NaN
            
             Object.prototype.valueOf=function(){return 1;};
             w(+{});//輸出1
             Object.prototype.valueOf=function(){return "a";};
              w(+{});//輸出NaN
            
             Array.prototype.valueOf=function(){return 1;};
             w(+[]);//輸出1
             Array.prototype.valueOf=function(){return "a";};
              w(+[]);//輸出NaN
            
             var s=function(){};
             Function.prototype.valueOf=function(){return 1;};
             w(+s);//輸出1
             Function.prototype.valueOf=function(){return "a";};
              w(+s);//輸出NaN
            
             Boolean.prototype.valueOf=function(){return 1;};
             w(+new Boolean());//輸出1
             Boolean.prototype.valueOf=function(){return "a";};
             w(+new Boolean());//輸出NaN
          二,對于基本數據數據類型,其值轉換成數字
              w(+5);//輸出5
              w(+true);//輸出1
              w(+false);//輸出0
              w(+"ss");//輸出NaN
              w(+"111");//輸出111

          posted on 2009-12-04 10:00 二胡 閱讀(1151) 評論(0)  編輯  收藏 所屬分類: JS
          主站蜘蛛池模板: 兴城市| 唐山市| 资溪县| 姜堰市| 昆山市| 镇巴县| 邯郸县| 望奎县| 梁山县| 凭祥市| 双流县| 开远市| 邛崃市| 郁南县| 湘乡市| 依安县| 卓尼县| 盐津县| 同江市| 望奎县| 腾冲县| 明水县| 金川县| 万荣县| 神木县| 磐石市| 峨眉山市| 壤塘县| 时尚| 邵武市| 昌江| 长子县| 东山县| 东源县| 囊谦县| 卓尼县| 台江县| 大英县| 蒙山县| 阳江市| 当涂县|