我有一个函数,我希望在最后一行结束后再次调用。
如果我展示代码,也许会更容易理解。
function updateQuantity(){
// further code where I change same data
// and now I want to start function again but with remembering the input element that called it previously
updateQuantity(this); // I tried it this way but it doesn't work
}
有什么想法吗?
答案 0 :(得分:3)
从评论到您的问题,您似乎想要将值传递给递归方法调用。
function updateQuantity(val){
// Do something with `val`
val = val + 1;
console.log(val);
// And call it again with the value
if(val < 5){
updateQuantity(val);
}
}
updateQuantity(1); // 2, 3, 4, 5
答案 1 :(得分:3)
答案很简单,只需在updateQuantity.call(this)
函数中使用updateQuantity
即可 - 当我们使用call
并添加this
时,该函数将重新开始并记住以前称为updateQuantity
的输入元素。
答案 2 :(得分:0)
看起来你正试图在函数体中获取DOM元素。
这是一个简单的例子:https://jsfiddle.net/c3kbu0j7/10/
HTML
<a href="#">element you want.</a>
的JavaScript
$('a').on('click',function(){
a(this);
});
var i=0;
function a(tar){
console.log(tar);
if(i<4){
i++;
a(tar);
}
i=0;
}