我相信术语“方法”是否可以创建自己的习惯?例如,如下所示:
var str = "test"
str.replaceSpecial();
其中replaceSpecial()会自动将字母e替换为其他内容。
我对此感兴趣的原因是,我想做的是抓取字符串,然后运行大量替换操作,因此我希望当我调用replaceSpecial()时它将运行一个函数。
谢谢
最佳答案
您可以将方法添加到String.prototype
,它将对所有字符串可用。例如,这就是大多数库中实现trim()
的方式。
String.prototype.replaceSpecial = function() {
return this.replace(/l/g, 'L');
};
"hello".replaceSpecial(); // heLLo
但是,请注意,在本机原型(prototype)上定义非常特定的功能通常是一种不好的做法。上面是完全相同的问题的一个很好的例子。对于此类特定情况,请考虑使用自定义函数或包装器来完成此工作。
function replaceSpecial(str) {
return str.replace(/l/g, 'L');
}
replaceSpecial("hello"); // heLLo
或在自定义 namespace 下。
var StringUtils = {
replaceSpecial: function(str) { .. },
..
};
StringUtils.replaceSpecial("hello"); // heLLo