我想打印一个字符串,例如blah
3次,但我想将函数链接到该字符串。
我现在这样做:
function repeatMe( number ) {
for (var i = 0; i < number; i++) {
document.write('blah');
}
}
console.log( repeatMe( 3 ) );
但是可以像这样调用函数来打印blah
:
console.log( 'blah'.repeatMe( 3 ) );
答案 0 :(得分:2)
当然,您只需将其添加到String类型:
String.prototype.repeatMe = function (number) {
for (var i = 0; i < number; i++) {
document.write(this);
}
};
"blah".repeatMe(4);
答案 1 :(得分:2)
通过将repeatMe
添加到字符串原型中来返回连接字符串:
String.prototype.repeatMe = function (number) {
var txt = '';
for (var i = 0; i < number; i++) {
txt += this;
}
return txt;
}
var div = document.querySelector('#id');
div.innerHTML = 'blah'.repeatMe(3);
或者:
console.log('blah'.repeatMe(3));
答案 2 :(得分:1)
可以通过添加到String原型链来实现。由于"blah"
是一个字符串,因此您需要将其添加到字符串的原型链中。
解决方案:
String.prototype.repeatMe = function ( number ) {
for (var i = 0; i < number; i++) {
document.write(this);
}
}
console.log( 'blah'.repeatMe( 3 ) );
答案 3 :(得分:0)
重复字符串的简单版本:使用Array
并使用字符串
重复执行功能:请参阅代码段
String.prototype.repeat = function (n) { return Array(n + 1).join(this); };
Function.prototype.repeat = function (n) {
n -= 1;
if (n > 0) { this(); return this.repeat(n); }
return this();
};
var result = document.querySelector('#result');
var bar = function () { result.innerHTML += '<br>bar' };
result.innerHTML = 'foo'.repeat(5);
bar.repeat(5);
&#13;
<div id="result"></div>
&#13;