FlyPig

          if{}else if{}生活只有一個(gè)分支
          posts - 11, comments - 9, trackbacks - 0, articles - 4
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          arguments的使用

          Posted on 2006-11-21 21:43 FlyPig Lin 閱讀(305) 評(píng)論(0)  編輯  收藏

          javascript這種語(yǔ)言是不支持方法的overload的,這意味著你沒(méi)辦法這樣描述一樣動(dòng)作:“吃東西”,你只能寫(xiě):“以吃大餐的方式吃東西”,“以吃點(diǎn)心的方式吃東西”。。。實(shí)在是挺惡心的。如果給你的方法取名已經(jīng)讓你感到山窮水盡時(shí),那只好用個(gè)小方法來(lái)解決,就是用參數(shù)的個(gè)數(shù)(或類(lèi)型)來(lái)在一個(gè)方法里面寫(xiě)if(){}else{}.....(挺丑陋的,不然還有什么好辦法?)

          例:
          function TestClass(){}

          TestClass.prototype.eat = function(){
          ?? var len = arguments.length;
          ?? if(len == 1 )
          ????? alert('吃大餐');
          ? else if(len == 2)
          ????? alert('吃點(diǎn)心');
          }

          TestClass.prototype.ride= function(){
          ? var args = arguments;
          ?? if(typeof args[0] == 'string')
          ????? alert('騎自行車(chē)');
          ? else if(typeof args[0] == 'number')
          ????? alert('開(kāi)小車(chē)');
          }

          var tc = new TestClass();

          tc.eat ('a');?
          tc.eat ('a', 'b');?

          tc.ride('bike');
          tc.ride(1000);


          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 西平县| 竹溪县| 汉沽区| 灵山县| 普宁市| 阳东县| 安泽县| 四川省| 化隆| 象山县| 南投市| 东港市| 五原县| 福鼎市| 乾安县| 北宁市| 和田县| 武鸣县| 阳春市| 普兰店市| 克山县| 桃园县| 道孚县| 津市市| 凌源市| 黎平县| 吕梁市| 青川县| 长海县| 兴业县| 板桥市| 洞头县| 吴川市| 图木舒克市| 治多县| 台湾省| 邹城市| 蒙山县| 渝中区| 贵港市| 新密市|