大众计算机学习网欢迎诸位!收藏本站注 册登 陆
常用教程:基础知识网络知识操作系统WPS网页制作数据库算法网页成功之路网络安全最新技术古典mid流行midmid背景下载中心
您现在的位置:首页 > 教程 > 文章页

JS函数名加不加括号的区别

Admin | 2015-4-20 10:46:15 | ReadNums | 2600 | 标签 网页制作 | 打印本页
     

  调用JS函数,有时候会在函数名的后面加括号,有的时候却不加,这是为什么呢?

  凡是要让函数执行函数体内的代码,都必须加括号。此时,函数()实际上等于函数的返回值。当然,有些没有返回值,但已经执行了函数体内的代码,因此,我们可以这样认为,只要加括号的,就代表将会执行函数体代码。

  而不加括号的,都是把函数名称作为函数的指针,用于传参,此时不是得到函数的结果,因为不会运行函数体代码。它只是传递了函数体所在的地址位置,在需要的时候好找到函数体去执行。

  下面我们看例子:

  function GetMsg()
  {
      var ReMsg="大众计算机学习网";
   alert(ReMsg);
  }
  function Test()
  {
      var TestMsg=GetMsg;
  }

  <div onclick="GetMsg()">内容一</div>
  <div onclick="Test()">内容二</div>

  当我们点击内容一的时候,执行GetMsg()函数内代码,因此会弹出对话框提示。

  当我们点击内容二的时候,执行Test()函数内的代码,该函数内的代码是:

  var TestMsg=GetMsg; //该函数的含义是:告诉TestMsg变量,函数GetMsg的位置,但是并不会调用并执行GetMsg函数内的代码,因此不会弹出对话框提示。

  反过来,如果我们把上面这一句变为:var TestMsg=GetMsg(); 那么,就会弹出提示对话框了。

   总结:调用函数的时候,如果带括号,就一定会执行该函数体内的代码;如果不带括号,则函数体内的代码不会被执行。


问题未解决:在线咨询我要在线咨询问题

网友评论

(访客)
内容实用原创,讲得很好。
20xx年x月x日
(站长)
有问题请在线咨询。
20xx年x月x日