创建JavaScript原型

jdb*_*org 2 javascript

我正在尝试用JavaScript创建一个简单的原型,从字符串中删除一个字符(比如Python的条带).这可能已经存在于JavaScript中了,但是我找不到它,这对我来说更像是一种练习,而不是替代已经存在的东西.

function strip(chars) {
    this.replace(chars,"");
}

String.prototype.strip=strip;

var wrong = "Hellow";

alert(wrong.strip("w"));
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,警报显示"未定义".我怀疑是this.功能但不确定.我在这里也做了一个小提琴:http://jsfiddle.net/jdb1991/rapxM/

谢谢

Rob*_*b W 5

您必须指定return,以便返回操作的结果:

function strip(chars) {
   return this.replace(chars,"");
}
Run Code Online (Sandbox Code Playgroud)

工作演示:http://jsfiddle.net/rapxM/1/

请注意,您的代码不会删除所有字符,它只删除第一个字符.如果要删除所有字符,请使用:

function strip(chars) {
   return this.split(chars).join('');
}
Run Code Online (Sandbox Code Playgroud)
  • .split 根据给定的参数(返回值:array)将字符串拆分成较小的片段.
  • .join() 是一个数组方法,它连接数组(返回值:字符串)