小秋的家

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 棋剑小秋 阅读(205) 评论(0)  编辑  收藏 所属分类: AJAX

只有注册用户登录后才能发表评论。


网站导航: