小秋的家

          home

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            1 Posts :: 91 Stories :: 17 Comments :: 0 Trackbacks

           Prototype基礎類:
                 1. Class.create()
                      示例:
                          var myClass = Class.create();

                2.  Object.extend(destination,source)
                      示例:
                          var myClass = Class.create();
                          myClass.prototype = {
                          initialize: function() {
                           },
                           f1: function() {
                                alert("do f1()");
                           },
                           f2: function() {
                                alert("do f2()");
                           },
                           toString: function() {
                                return "myClass";
                           }
                      };
                      var mySubClass = Class.create();
                      Object.extend(mySubClass.prototype, myClass.prototype);

                 3. Object.inspect(object)
                      返回目標對象的文字說明,如果對象沒有定義inspect方法,則默認返回object.toString()的值
                      示例:
                      var myClass = Class.create();
                      myClass.prototype = {
                           initialize: function() {
                           },
                           toString: function() {
                            return "myClass";
                           }
                      };
                      var obj = new myClass();
                      alert(Object.inspect(obj));
                  4.Function.prototype.bind(object)
                      返回一個Function的實例,其結構與當前的Function對象完全相同,只是作用域已經轉移到參數指定的object對象上
                      示例:
                      var myClass = Class.create();
                      myClass.prototype = {
                           initialize: function() {
                           },
                           name: "myClass",
                           f1: function() {
                               alert(this.name + " from f1");
                           }
                      };
                      var myClass2 = Class.create();
                      myClass2.prototype = {
                           initialize: function() {
                           },
                           name: "myClass2",
                           f2: function() {
                                alert(this.name + " from f2");
                           }
                      };
                      var obj = new myClass();
                      var obj2 = new myClass2();

                      obj2.f2 = obj.f1.bind(obj2);
                      obj2.f2(); // 輸出"myClass2 from f1"

                  5.Function.prototype.bindAsEventListener
                      與bind方法的功能相同,只不過bingAsEvevntListener用于綁定事件.
                      示例:
                      var Watcher = Class.create();
                      Watcher.prototype = {
                               initialize: function(buttonid, message) {
                                        this.button = $(buttonid);
                                        this.message = message;
                                        // 將button的onclick和this對象的showMessage方法綁定起來
                                        this.button.onclick =
                                         this.showMessage.bindAsEventListener(this);
                               },
                               showMessage: function() {
                                    alert(this.message);
                               }
                          };
                      var watcher = new Watcher('btn', 'clicked');

                  6.PeriodicalExecuter類
                      創建PeriodicalExecuter類的實例將會周期性地調用指定的方法
                      function setTime() {
                           $('divTime').innerHTML = (new Date()).toLocaleString();
                      }
                      new PeriodicalExecuter(setTime, 1);
                      第一個參數:調用的方法;第二個參數:間隔多少秒

                  字符串處理(String對象擴展)
                     1.String .prototype.gsub(pattern,replacement)

                          將字符串中所有正則表達式匹配的部分替換成指定的字符串
                          pattern:正則表達式
                          replacement:用作替換的字符串
                          示例:
                          var str = "this is a test test";
                          //輸出"this is a new new"
                          alert(str.gsub(/test/,"new"));
                          
                      2.String.prototype.truncate(length,truncation)
                          將字符串截斷
                          length:截斷后字符串的長度,默認值為30
                          trancation:截斷字符串時,替代尾部的字符串,默認是"..."
                          示例:
                           var str = "this is a test test";
                          //輸出"this is ..."
                            alert(str.truncate(10));
                          //輸出"this is a t..."
                          alert(str.truncate(14));
                          //輸出"this is***"
                          alert(str.truncate(10,"***"));

                      3.String.prototype.strip()
                          刪除字符串前后的空白字符
                          示例:
                          var str="this is a test test  ";
                          alert(str.strip().length);//19
                          alert(str.length);//21

                      4.String.prototype.stripTags()
                          移除字符串中所有的HTML和XML標簽
                          示例:
                          var str = "<table><tr><td>stripTagsDemo</td></tr></table>";
                         alert(str.stripTags());//輸出"stripTagsDemo"

                      5.String.prototype.stripScripts()
                          移除字符串所有的<script></script>腳本標記內容
                          示例:
                          var str = "this is a test<script>alert('ok')<"+"/script>";
                         alert(str.stripScripts());//輸出"this is a test"

                      6.String.prototype.evalScripts()
                          執行在字符串中找到的所有腳本
                          var str = "this is a test<script>alert('ok')<"+"/script>";
                         str.evalScripts();//輸出"ok"

                      7.String.prototype.escapeHTML()
                          將字符串中的所有HTML標記進行轉義
                          示例:
                          var str = "<table><tr><td>stripTagsDemo</td></tr></table>";
                         alert(str.escapeHTML());

                      8.String.prototype.unescapeHTML()
                          執行與escapeHTML()相反的操作


                      9.String.prototype.toQueryParams()
                          將查詢字符串轉化為一個聯合數組
                          示例:
                          var str = "a=1&b=2&c=3"
                          var arr = str.toQueryParams();
                          for(i in arr){
                               alert(arr[i]);//輸出1,2,3
                         }

                      10.String.prototype.toArray()
                          把字符串轉換成字符數組
                          示例:
                          var str = "test";  
                          //依次輸出"t,e,s,t"
                         str.toArray().each(
                              function(item){ 
                                 alert(item); 
                             }
                         ); 

                      11.String.prototype.extractScripts()
                          從字符串中提取出所有的<script>腳本,以字符串數組的形式返回
                          示例:
                          var str = "this is a test<script>alert('ok')<"+"/script>";
                         str += str;
                          //輸出兩遍alert('ok')
                         str.extractScripts().each(
                             function(item){ 
                                 alert(item); 
                             }
                         ); 
           

                      12.String.prototype.camelize()
                          將一個以連字符連接的字符串轉換成一個遵循駱駝命名法的字符串
                          示例:
                          var str = "this-is-a-test";   
                          //輸出"thisIsATest"
                         alert(str.camelize());

                   
          posted on 2008-08-28 16:08 棋劍小秋 閱讀(217) 評論(0)  編輯  收藏 所屬分類: AJAX
          主站蜘蛛池模板: 武平县| 土默特右旗| 广南县| 汤原县| 玛纳斯县| 威海市| 琼结县| 志丹县| 合水县| 泾阳县| 阿克苏市| 吉水县| 安溪县| 克东县| 晋州市| 禄劝| 永德县| 丹江口市| 江门市| 通化县| 壶关县| 松潘县| 安丘市| 西安市| 黄浦区| 永胜县| 临安市| 三河市| 南漳县| 临洮县| 芮城县| 嵊泗县| 封开县| 临夏市| 龙胜| 滦平县| 南投县| 罗城| 西畴县| 东源县| 德州市|