js调用函数加不加括号的区别

发现自己的基础有点薄弱了啊,今天写代码居然会因为函数后面加了括号而搞错,居然找了半天的bug.

a.onmouseover = fn1;
       a.onmouseout = fn2;
       function fn1(){
    
    
             div.className = "erweima show";
         }
         function fn2(){
    
    
            div.className = "erweima hide";
         }

只要调用函数进行执行,都必须加括号。

函数是一个对象,函数名是指向这个对象的指针。

函数名后面加上括号就表示立即调用执行这个函数里面的代码。

使用不带圆括号的函数是访问函数的指针,而非调用函数。

函数名后面加括号,就直接执行函数返回值。

函数名后面不加括号,表示函数名赋值给click等的事件,触发click事件时才会执行此函数名对应的函数。

猜你喜欢

转载自blog.csdn.net/qq_27674439/article/details/108408618