如何使用Javascript参数触发任意函数

如何使用Javascript参数触发任意函数,javascript,Javascript,今天我参加了工作面试,我被交给了一个任务。 我从未遇到过这样的函数,所以它是: 写下一个触发后的函数,如下所示: console.log('hello'.repeatify(3)) 返回 hellohellohello 我试图创建一个空对象并附加一个repeatify方法,但是我不知道如何用“hello”触发它 也许我应该改变console.log方法 谢谢你的帮助:)没那么难。您必须为String.prototype创建一个新函数,并使用repeat()函数将给定字符串乘以给定参数 St

今天我参加了工作面试,我被交给了一个任务。 我从未遇到过这样的函数,所以它是:

写下一个触发后的函数,如下所示:

console.log('hello'.repeatify(3))
返回

hellohellohello
我试图创建一个空对象并附加一个repeatify方法,但是我不知道如何用“hello”触发它

也许我应该改变console.log方法


谢谢你的帮助:)

没那么难。您必须为
String.prototype
创建一个新函数,并使用
repeat()
函数将给定字符串乘以给定参数

String.prototype.repeatify=函数(计数){
返回这个。重复(计数);
};

log('hello'.repeatify(3))
并不是那么难。您必须为
String.prototype
创建一个新函数,并使用
repeat()
函数将给定字符串乘以给定参数

String.prototype.repeatify=函数(计数){
返回这个。重复(计数);
};

console.log('hello'.repeatify(3))
您可以为每个对象创建自己的原型方法,但不应使用本机对象:

String.prototype.repeatify=函数(num){
返回这个。重复(num);
}

log('hello'.repeatify(3))您可以为每个对象创建自己的原型方法,但不应使用本机对象:

String.prototype.repeatify=函数(num){
返回这个。重复(num);
}
log('hello'.repeatify(3))
String.prototype.repeatify=函数(金额)
{
var endString=“”;
对于(var i=0;i
String.prototype.repeatify=函数(金额)
{
var endString=“”;
对于(var i=0;i
只需修改字符串的原型对象:

String.prototype.repeatify = function (A) {
   var i = 1;
   var a = this;
   while (i++ < A) {
      a += this;
   }
   return a;
}

console.log('hello'.repeatify(3));
// outputs hellohellohello
String.prototype.repeatify=函数(A){
var i=1;
var a=此;
while(i++

对于修改内置对象的原型,人们有着复杂的感受。我认为这很好,但这是一种不好的做法。就我个人而言,我尽量避免使用它,宁愿定义一个独立的函数,也不愿修改我没有创建的原型。

只需修改String的原型对象:

String.prototype.repeatify = function (A) {
   var i = 1;
   var a = this;
   while (i++ < A) {
      a += this;
   }
   return a;
}

console.log('hello'.repeatify(3));
// outputs hellohellohello
String.prototype.repeatify=函数(A){
var i=1;
var a=此;
while(i++
对于修改内置对象的原型,人们有着复杂的感受。我认为这很好,但这是一种不好的做法。就我个人而言,我尽量避免使用它,宁愿定义一个独立的函数,也不愿修改我没有创建的原型。

ES6版本 重复


String.prototype.repeatify=String.prototype.repeatify | |函数(次=1){
//ES5这个
返回[…`.padStart(times,`)].map((item,i)=>item=this);
};
`abx`.repeatify(3);
//“abxabxabx”
ES6版本 重复


String.prototype.repeatify=String.prototype.repeatify | |函数(次=1){
//ES5这个
返回[…`.padStart(times,`)].map((item,i)=>item=this);
};
`abx`.repeatify(3);
//“abxabxabx”

不知道javascript字符串上的repeat函数。这可能是更好的解决方案。但是为什么他们会要求在面试中重新实现一个已经存在的功能呢。。。但是如上所述,不要在诸如字符串、数组等本机对象上使用该模式@用户3691763DIDN不知道javascript字符串上的repeat函数。这可能是更好的解决方案。但是为什么他们会要求在面试中重新实现一个已经存在的功能呢。。。但是如上所述,不要在诸如字符串、数组等本机对象上使用该模式@用户3691763谢谢你绑架先生!谢谢你,先生!