This question already has answers here:
what is the difference between calling function in JavaScript with or without parentheses ()
                                
                                    (3个答案)
                                
                        
                6年前关闭。
            
        

我有一个脚本,每隔1秒钟就对一个框中的数字(实际上,在本练习中为-> http://jqexercise.droppages.com/#page_0022_)进行计数。

var target = $("#target input");
var countUp = function(){
    target.val(parseInt(target.val())+1);
        setTimeout(countUp,1000);          // this line
};

countUp();


我的问题是,当我在用countUp标记的行上将countUp()更改为// this line时,它的计数立即达到15616。两者之间有什么区别?

最佳答案

countUp将该函数作为对象引用。在JavaScript中,所有事物都是一个对象,包括函数,并且可以传递。 countUp()调用函数countUp并返回其值。

09-18 21:20