JS调用函数带不带括号的区别

加括号的:函数只要是要调用它进行执行的,都必须加括号。此时,函数实际上等于函数的返回值或者执行效果,当然,有些没有返回值,但已经执行了函数体内的行为,就是说,加括号的,就代表将会执行函数体代码。
 
不加括号的:都是把函数名称作为函数的指针,一个函数的名称就是这个函数的指针,此时不是得到函数的结果,因为不会运行函数体代码。它只是传递了函数体所在的地址位置,在需要的时候好找到函数体去执行。
 
总结:加括号表示执行函数,不加括号表示查看整个函数的代码信息
 
  <script>
    function demo1(){
        var i = 1;
        return i;
    }
    function demo2(){
        var i = 2;
        alert(i);
    }
    window.onload = function (){
        var e=document.getElementById("btn");
        e.addEventListener("click",demo2);//只有触发click事件时才会调用demo2函数
        //e.addEventListener("click",demo2());//虽然是绑定函数,由于带上括号,会立即执行demo2函数,所以加载页面时会弹出框
    
        var a=demo1;//a是整个函数体,是一个函数对象
        var b=demo1();//b是函数执行后返回的值5
        alert(demo1);//会弹出整个函数demo1的函数体
        alert(demo1());//会弹出函数demo1的返回值
    }
 
 
  </script>    
</head>
<body>
  <input type="button" id="btn" value="点击">
</body>
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值