写点js的小函数(一)

写插件的博文实在是件伤神的事,太懒了,还是写点小函数吧。

/*
 * $extendPrototype 扩展prototype函数
 * @param {Function} constructor
 * @param {Object} prototype
 
*/
var $extendPrototype = function(constructor,prototype) {
    
var c = constructor || function(){},
        p 
= prototype || {};
    
for(var atr in p) {
        c.prototype[atr] 
= p[atr];
    }
    
return c;
}

/* 
 * String扩展
 
*/
var strEx = {
    removeJS : 
function(){    /*删除Script字符串内容*/
        
return this.replace(/<script[^>]*?>([\w\W]*?)<\/script>/ig,'');
    },
    getJS : 
function(){        /*将Script字符串转换为Script对象,返回Script or false*/
        
var js = this.replace(/[\s\S]*?<script[^>]*?>([\w\W]*?)<\/script>[\s\S]*?/g,'$1\r');
        
if(js == this){
            
return false;
        }
else{
            
var s = document.createElement('script');
            s.text 
= js;
            
return s;
        }
    },
    trim : 
function(str){    /*删除首尾相应内容,参数为空则删除空格*/
        
var reg;
        
if(str){
            str 
= str.replace(/([\.\+\?\*\\\^\&\[\]\(\)\{\}\$\,])/g,'\\$1');
            reg 
= new RegExp("^(" + str +")+|(" + str + ")+$","g");/* 特殊字符 (. + ? * \ ^ & [ ] ( ) { } $ ,) */
        }
else{
            reg 
= /^\s+|\s+$/g;
        }
        
return this.replace(reg,"");
    }
}
String 
= $extendPrototype(String,strEx);

innerHTML添加的js是不会执行的,所以要把js提取出来,使用<script>标签添加到html里就可以执行了。

trim([str])删除首尾对应的内容,注意点就是一些特殊符号要记得处理

posted on 2011-06-02 13:48  Lecaf  阅读(379)  评论(0编辑  收藏  举报