将函数链接到要打印的字符串

时间:2014-12-03 11:40:00

标签: javascript

我想打印一个字符串,例如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 ) ); 

4 个答案:

答案 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));

DEMO

答案 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并使用字符串

连接

重复执行功能:请参阅代码段

&#13;
&#13;
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;
&#13;
&#13;