我正在尝试编写一个函数,该函数返回字符串的中间字符。我希望它像下面的代码一样工作:
"123456789".midChar(); // Returns 5
"hello".midChar(); // returns 1
"test".midChar(); // returns e
我想知道如果该函数不带参数如何访问字符串? 如何引用函数内部的字符串以进行操作?例如“ 123456789”
问这个问题之前我做了什么?
我阅读了有关原型的文章,并了解了如何向数组和字符串原型添加方法。我试图找到String.prototype.charAt()
的实现以及其他几个实现,以了解其构建方式,但是找不到一个。我所能找到的只是Reduce,ForEach和其他几个Array方法,但这对我的情况不是很有帮助。
答案 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)
};
应该这样做!