憨厚生

          ----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 二胡 閱讀(1143) 評論(0)  編輯  收藏 所屬分類: JS
          主站蜘蛛池模板: 中西区| 曲沃县| 西贡区| 会宁县| 靖西县| 福海县| 铁岭县| 新余市| 英德市| 白沙| 车险| 福海县| 四会市| 隆回县| 通榆县| 塔城市| 新泰市| 莱芜市| 基隆市| 偃师市| 通榆县| 天等县| 霍山县| 吴忠市| 铜山县| 巧家县| 图片| 永吉县| 政和县| 天峨县| 新化县| 科尔| 迁西县| 公主岭市| 武穴市| 桂平市| 咸宁市| 泰州市| 连云港市| 津南区| 新疆|