FlyPig

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

          arguments的使用

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

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

          例:
          function TestClass(){}

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

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

          var tc = new TestClass();

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

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


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 长岛县| 筠连县| 濮阳县| 敦煌市| 吴旗县| 宿迁市| 洪泽县| 阳新县| 灌阳县| 陇西县| 商南县| 北安市| 台安县| 岳西县| 桃源县| 德化县| 东乡| 枣庄市| 密山市| 大名县| 隆昌县| 项城市| 宁波市| 桓仁| 东莞市| 乐亭县| 新田县| 韩城市| 安溪县| 阿拉尔市| 郓城县| 海原县| 潜江市| 天祝| 文成县| 永春县| 霍山县| 桂平市| 文昌市| 原阳县| 镇平县|