原文出处:https://blog.csdn.net/wanghao_0206/article/details/80041541
String.prototype.entityify = (function(){
var character = {
'<': '<',
'>': '>',
'&': '&',
'"': '"'
};
return function(){
return this.replace(/[<>&"]/g,function(c){
return character[c];
});
};
}())
使用js原型,将方法添加到String原型中,使其默认具备替换特殊字符功能
定义字符映射对象,直接使用[]获取对应替换值
使用闭包,避免污染,同时可以隐藏实现
使用了replace与正则表达式特性,replace只替换第一个匹配值,该段代码中使用正则表达式,并添加g全局属性,使其具备替换字符串中匹配到的所有内容
replace第二个属性可以是方法(Function),如果是方法,则将匹配到的内容替换成方法的方法的返回值
————————————————
版权声明:本文为CSDN博主「泪鱼」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wanghao_0206/article/details/80041541