在这种情况下说:

String.prototype.times = function(count) {
    return count < 1 ? '' : new Array(count + 1).join(this);
}

"hello!".times(3); //"hello!hello!hello!";
"please...".times(6); //"please...please...please...please...please...please..."


如何将其添加到新语句中3次?我在理解return语句时也有些困惑。请告诉我我是否正确理解了这一点:

(if count < 1){
    return ''
} else {
    return new Array(count + 1).join(this) //This I don't understand.


谢谢。

最佳答案

它会创建一个新的给定长度的数组,例如7。然后,将所有这些空项目与一个字符串连接起来,最终将该字符串重复6次。

一般:

[1,2,3].join("|") === "1|2|3"


然后使用长度为4的数组:

new Array(4).join("|") === "|||"


this方法内的String.prototype指的是在以下情况下作为方法调用的字符串对象:

 "hello".bold(); //this would refer to a string object containing "hello" inside bold()

10-08 16:17