在我们js编写程序的时候,我们会写很多函数然后调用它们,那么这些函数调用的时候什么时候加()什么时候不加()?记住以下几个要点。

(1)函数做参数时都不要括号。

 function fun(e) {
   alert(e);
 }

 function A(fun, e) {
   fun(e);
 }

 A(fun, 3);//弹出'3',函数fun当做实参传入另一个函数时,不加()

(2)函数被调用的时候都要加括号。

看上面那段代码,第9行函数A被调用的时候是A();

(3)函数作为赋值符号右边的时候,当无()时传递的是函数这个对象,有()时传递的是函数的返回值。

 function Fun() { return 1; }
 var a = Fun(); //此时的a = 1
 var b = Fun; //b是一个函数的引用

不加()的函数名作为了一个函数的引用,或者说是一个指针,用于传递函数所在的位置,需要时找到这个函数去执行。

js----方法是否加括号的问题的更多相关文章

  1. 关于JS中的方法是否加括号的问题

    js中的方法什么时候加括号什么时候不加括号呢,我们有时候经常就搞不清楚,记住下面这几点就好理解了. 1.函数做参数时都不要加括号. function fun(a){ alert(a); } funct ...

  2. 关于Android4.2后WebView的js方法需要加@JavascriptInterface

    解读: targetSdkVersion>=17时,需要加上@JavascriptInterface,否则报错Uncaught TypeError: Object [object Object] ...

  3. 页面加载完毕后调用js方法进行布局操控 已实验

    页面加载完毕后调用js方法进行布局操控 已实验 $(function(){ var check1 = $("[id$=SMS]").is(':checked'); var bl=$ ...

  4. js jquery 页面加载初始化方法

    js jquery 页面加载初始化方法 一.js页面加载初始化方法 // 1.在body里面写初始化方法. <body onload='init()'> </body> < ...

  5. 使用getScript()方法异步加载并执行js文件

    使用getScript()方法异步加载并执行js文件 使用getScript()方法异步请求并执行服务器中的JavaScript格式的文件,它的调用格式如下所示: jQuery.getScript(u ...

  6. 基于 Koa平台Node.js开发的KoaHub.js的控制器,模型,帮助方法自动加载

    koahub-loader koahub-loader是基于 Koa平台Node.js开发的KoaHub.js的koahub-loader控制器,模型,帮助方法自动加载 koahub loader I ...

  7. jquery getScript动态加载JS方法改进详解[转载]

    转载自http://www.jb51.net/article/31973.htm 有许多朋友需要使用getScript方法动态加载JS,本文将详细介绍此功能的实现方法     $.getScript( ...

  8. js实现动态加载脚本的方法实例汇总

      本文实例讲述了js实现动态加载脚本的方法.分享给大家供大家参考,具体如下: 最近公司的前端地图产品需要做一下模块划分,希望用户用到哪一块的功能再加载哪一块的模块,这样可以提高用户体验. 所以到处查 ...

  9. JS中eval处理JSON数据 为什么要加括号

    由于Ajax的兴起,JSON这种轻量级的数据格式作为客户端与服务器之间的传输格式逐渐地流行起来,进而出现的问题是如何将服务器端构建好的JSON数据转化为可用的JavaScript对象.利用eval函数 ...

  10. .net mvc 站点自带简易SSL加密传输 Word报告自动生成(例如 导出数据库结构) 微信小程序:动画(Animation) SignalR 设计理念(一) ASP.NET -- WebForm -- ViewState ASP.NET -- 一般处理程序ashx 常用到的一些js方法,记录一下 CryptoJS与C#AES加解密互转

    .net mvc 站点自带简易SSL加密传输   因项目需要,传输数据需要加密,因此有了一些经验,现简易抽出来分享! 请求:前端cryptojs用rsa/aes 或 rsa/des加密,后端.net ...

随机推荐

  1. hadoop2 作业执行过程之yarn调度执行

    YARN是hadoop系统上的资源统一管理平台,其主要作用是实现集群资源的统一管理和调度(目前还不完善,只支持粗粒度的CPU和内存的的调配): 它的基本思想是将Mapreduce的jobtracker ...

  2. T-SQL 之 多表联合更新

    1. sqlite 多表更新方法 UPDATE tA SET col1=tB.col1 FROM tableA tA INNER JOIN tableB tB ON tA.col2=tB.col2 这 ...

  3. Socket 之 c#实现Socket网络编程

    一.命名空间: 在网络环境下,最有用的两个命名空间是System.Net和 System.Net.Sockets. 1.System.Net:通常与较高程的操作有关,例如download或upload ...

  4. 每天一道面试题(2):实现strncpy

    目录 0. 为何要写strncpy? 1. 源码及测试结果 2. 面试注意事项 3. 小结

  5. 【Mood-18】github 使用指南

    windows下使用教程: http://www.cnblogs.com/dongdong230/p/4211221.html repository not found error问题解决(需确定gi ...

  6. 源自梦想 eclipse快捷键整理

        Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行  Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当前行到上一行(复制增加) ...

  7. POI导出EXCEL经典实现

    1.Apache POI简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程式对Microsoft Office格式档案读和写的功能. .NET的开发人员则 ...

  8. IIs站点的建立

    控制面板——管理工具——Internet信息服务管理器 首先应设置的文件权限:System 和 admin 程序池:4.0 编辑权限:iis apppool\名称 身份验证:匿名身份——应用程序池标识

  9. 在ios7系统下,scrollView下移20像素

    从设备图库返回到scrollView时,scrollView会下移20像素,解决办法:self.edgesForExtendedLayout = UIRectEdgeNone; 如果加入此代码导致其他 ...

  10. OpenShare新功能@2014年11月 [2014-11-30]

    新功能@Nov,2014 各门户层次主页布局自由编辑:升级为实时保存,这样用户编辑门户主页时,就算忘了点击“保存布局信息”,也不会丢失已做的工作 全方位支持匿名访问,支持构造公网以及extranet网 ...