我的漫漫程序之旅

          專注于JavaWeb開發
          隨筆 - 39, 文章 - 310, 評論 - 411, 引用 - 0
          數據加載中……

          Javascript動態創建get,set方法的兩種寫法

          <HTML>
           
          <HEAD>
            
          <TITLE> New Document </TITLE>
           
          </HEAD>

           
          <BODY>
           
          <script>
              
          //創建一個User類
              function User(properties)
              
          {
                  
          //遍歷所有的屬性
                  for(var i in properties)
                  
          {
                      
          // inner function
                      (function(i)
                      
          {
                          
          //get method
                          this["get" + i] = function()
                          
          {
                              
          return properties[i];
                          }
          ;
                          
          //set method
                          this["set" + i]  = function(val)
                          
          {
                              properties[i] 
          = val;
                          }

                      }
          ).call(this,i);
                  }

              }


              
          var me = new User({name:"zdw",age:44});
              document.write(me.getname());
              me.setname(
          "admin");
              document.write(
          "<br />" + me.getname());
              document.write(
          "<br />" + me.getage());

              
          //第二種寫法
              function Person(properties)
              
          {
                  
          var _this = this;
                  
          for(var i in properties)
                  
          {
                      (
          function(i)
                      
          {
                          _this[
          "get" + i] = function()
                          
          {
                              
          return properties[i];
                          }


                          _this[
          "set" + i] = function(val)
                          
          {
                              properties[i] 
          = val;
                          }

                      }
          )(i);
                  }

              }


              
          var you = new Person({name:"admin",age:999});
              alert(you.getname() 
          + "\n" +  you.getage());
              you.setname(
          "angel");
              alert(you.getname() 
          + "\n" +  you.getage());
           
          </script>
           
          </BODY>
          </HTML>


          posted on 2008-07-21 13:39 々上善若水々 閱讀(3064) 評論(0)  編輯  收藏 所屬分類: JavaScript

          主站蜘蛛池模板: 蕲春县| 封开县| 农安县| 娄底市| 蓬安县| 邛崃市| 舟山市| 阜新| 日照市| 沙田区| 长春市| 罗田县| 榆林市| 鲜城| 大石桥市| 钦州市| 延边| 惠州市| 宣城市| 普兰店市| 囊谦县| 买车| 冀州市| 屏东县| 北流市| 西峡县| 神池县| 鹤庆县| 渝北区| 浮山县| 崇阳县| 永清县| 庐江县| 莫力| 扎兰屯市| 西平县| 洪湖市| 黔东| 五寨县| 普陀区| 怀宁县|