如何使用原型访问字符串

时间:2018-10-19 14:58:27

标签: javascript prototype

我正在尝试编写一个函数,该函数返回字符串的中间字符。我希望它像下面的代码一样工作:

"123456789".midChar(); // Returns 5
"hello".midChar(); // returns 1
"test".midChar(); // returns e

我想知道如果该函数不带参数如何访问字符串? 如何引用函数内部的字符串以进行操作?例如“ 123456789”

问这个问题之前我做了什么?

我阅读了有关原型的文章,并了解了如何向数组和字符串原型添加方法。我试图找到String.prototype.charAt()的实现以及其他几个实现,以了解其构建方式,但是找不到一个。我所能找到的只是Reduce,ForEach和其他几个Array方法,但这对我的情况不是很有帮助。

3 个答案:

答案 0 :(得分:1)

String.prototype.midChar= function () {
    console.log(String(this)); // 'this' is the string representation.
    console.log(this.substring(5));
    console.log(this);
};

"EleFromStack".midChar();
.as-console-wrapper { max-height: 100% !important; top: 0; }

答案 1 :(得分:1)

在midChar函数中使用this访问字符串。

String.prototype.midChar = function() {
  var mid = parseInt((this.length - 1) / 2)
  return this.substring(mid, mid+1);
}

console.log("123456789".midChar())
console.log("hello".midChar())
console.log("test".midChar())

答案 2 :(得分:0)

像这样扩展原型

String.prototype.midChar= function () {
    //put yout function body here..
    //i.e.
    //var firstchar = this.charAt(0)
};

应该这样做!