自定义替换方法?

Pet*_*ete 3 javascript

是否有可能创建自己的自定义,我相信术语是'方法'?例如,像这样:

var str = "test"
str.replaceSpecial();
Run Code Online (Sandbox Code Playgroud)

其中replaceSpecial()将自动替换说,字母e与其他东西.

我有兴趣这样做是因为我想要做的是抓取字符串,然后运行大量的替换操作,所以我希望当我调用replaceSpecial()时它会运行一个函数.

谢谢

Anu*_*rag 8

您可以添加String.prototype可供所有字符串使用的方法.这就是trim()大多数库中的实现方式.

String.prototype.replaceSpecial = function() {
    return this.replace(/l/g, 'L');
};

"hello".replaceSpecial(); // heLLo
Run Code Online (Sandbox Code Playgroud)

但是,请注意,在本机原型上定义非常具体的功能通常是一种不好的做法.以上是完全相同问题的一个很好的例子.对于这种特定情况,请考虑使用自定义函数或包装器来完成工作.

function replaceSpecial(str) {
    return str.replace(/l/g, 'L');
}

replaceSpecial("hello"); // heLLo
Run Code Online (Sandbox Code Playgroud)

或者在自定义命名空间下,例如.

var StringUtils = {
    replaceSpecial: function(str) { .. },
    ..
};

StringUtils.replaceSpecial("hello"); // heLLo
Run Code Online (Sandbox Code Playgroud)

  • @Anurag 耶!我厌倦了听到“永远不要在 Javascript 中做任何事情,因为 1998 年编写的一些代码很糟糕”。 (2认同)