在这种情况下说:
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()