憨厚生

          ----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
          主站蜘蛛池模板: 宝坻区| 惠安县| 石门县| 扎兰屯市| 金乡县| 阳城县| 佛山市| 石景山区| 永福县| 积石山| 奉化市| 台山市| 庄浪县| 伽师县| 武川县| 绥中县| 建平县| 张家口市| 盐城市| 青冈县| 朝阳区| 申扎县| 仙桃市| 方城县| 灯塔市| 夏河县| 尼玛县| 平和县| 洛扎县| 绍兴市| 锦屏县| 安图县| 梧州市| 塘沽区| 辽源市| 清远市| 大英县| 泽州县| 永清县| 双柏县| 鄂托克前旗|