如何创建类似于string.split()的自定义函数来反转字符串

时间:2019-06-23 17:23:41

标签: javascript object prototype

我正在尝试编写一个函数,如果像传递split那样传递字符串,它会返回一个相反的字符串-

这是我尝试过的-

var abc = "hello"
var result;
String.prototype.reverser = function(str){
  var temparr = str.split('').reverse().join('');
  return temparr;
}
result = abc.reverser();
console.log(result);

我期待olleh,但宁愿得到-

VM1179:4未捕获的TypeError:无法读取未定义的属性“ split”     在String.reverser(:4:19)     在:7:14

2 个答案:

答案 0 :(得分:2)

您不需要参数OriginalName SocialName Miguel Carlos Eduardo Farias Alessandra Farias Vinicius Cláudio Miguel Aragão Alice Castro Beatriz N G LEMES BEA LEMES Carol Susan Jane Danvers Carol Danvers Danéria Targarião Danny Targarião Isis Aparecida Cristiane Assis Isis Assis Cris colaboradora Nome Social Cris Lucas André Márcio Rodrigues NULL 。该字符串已绑定到原型上的方法。只需使用OriginalName SocialName Miguel Carlos Eduardo Farias Alessandra Farias Vinicius Cláudio Miguel Aragão Alice Castro Beatriz N G LEMES BEA LEMES Carol Susan Jane Danvers Carol Danvers Cris colaboradora Nome Social Cris Danéria Targarião Danny Targarião Isis Aparecida Cristiane Assis Isis Assis Lucas André Márcio Rodrigues NULL 即可访问字符串。

str

注意:您不应直接将可枚举的属性添加到this中。而是使用var abc = "hello" var result; String.prototype.reverser = function(){ return this.split('').reverse().join(''); } result = abc.reverser(); console.log(result);

prototype

答案 1 :(得分:0)

使用Pink Floyd - shine on you crazy diamond shine on you crazy diamond - pink Floyd pink Floyd : shine on you crazy diamond Pink Floyd - shine on you crazy diamond (HQ) (lyrics) 函数扩展String.prototype时,可以使用reverser()访问带有新方法的字符串;您所定义的方式期望未提供参数this。在此工作片段中了解如何使用(str)访问字符串:

this