浅谈js中调用函数时加不加括号的问题


Posted in Javascript onJuly 28, 2016

其实总结起来如下:

函数只要是要调用它进行执行的,都必须加括号。此时,函数()实际上等于函数的返回值。当然,有些没有返回值,但已经执行了函数体内的行为,这个是根本,就是说,只要加括号的,就代表将会执行函数体代码。

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

所以一般时候我们都是采用的是无括号的原因。这也是由于括号的二义性,因为括号是“函数调用运算符”,相当于在执行这样一个函数,所以产生的问题在理解了之后也就理解了。

另外:除了两边不加括号,也可以两边都加括号来实现函数的拷贝,而不是执行函数,如果左边无圆括号右边有圆括号,实际就是相当于产生的是一个属性而不是一个方法了,在调用的时候只用属性名或者函数名,而不需要再用函数调用运算符圆括号了,因为它就相当于一个属性,当然也可以用函数调用的方式来调用,加上括号,拿上例子来说就是如果写成person.sayHello =sayHi(),在调用sayHello的时候就可以直接用person.sayHello或者person.sayHello()了,二者都实现相同的效果。

百度知道的回答:

函数只要是要调用它进行执行的,都必须加括号。此时,函数()实际上等于函数的返回值。当然,有些没有返回值,但已经执行了函数体内的行为,这个是根本,就是说,只要加括号的,就代表将会执行函数体代码。

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

以上这篇浅谈js中调用函数时加不加括号的问题 就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS 按钮点击触发(兼容IE、火狐)
Aug 07 Javascript
JS如何将UTC格式时间转本地格式
Sep 04 Javascript
jQuery extend 的简单实例
Sep 18 Javascript
jQuery中fadeOut()方法用法实例
Dec 24 Javascript
jQuery中ajax的post()方法用法实例
Dec 26 Javascript
Bootstrap零基础入门教程(三)
Jul 18 Javascript
使用原生js写ajax实例(推荐)
May 31 Javascript
全站最详细的Vuex教程
Apr 13 Javascript
你点的 ES6一些小技巧,请查收
Apr 25 Javascript
vue2.0实现移动端的输入框实时检索更新列表功能
May 08 Javascript
Nuxt.js实现一个SSR的前端博客的示例代码
Sep 06 Javascript
JS pushlet XMLAdapter适配器用法案例解析
Oct 16 Javascript
AngularJS 入门教程之HTML DOM实例详解
Jul 28 #Javascript
javascript 小数乘法结果错误的处理方法
Jul 28 #Javascript
轮播的简单实现方法
Jul 28 #Javascript
关于JS变量和作用域详解
Jul 28 #Javascript
jquery轮播的实现方式 附完整实例
Jul 28 #Javascript
AngularJS入门教程中SQL实例详解
Jul 27 #Javascript
AngularJS入门教程之表格实例详解
Jul 27 #Javascript
You might like
[转帖]PHP世纪万年历
2006/12/06 PHP
PHP编译安装中遇到的两个错误和解决方法
2014/08/20 PHP
优秀js开源框架-jQuery使用手册(1)
2007/03/10 Javascript
JavaScript 在各个浏览器中执行的耐性
2009/04/06 Javascript
javascript 面向对象思想 附源码
2009/07/07 Javascript
prototype 中文参数乱码解决方案
2009/11/09 Javascript
改变javascript函数内部this指针指向的三种方法
2010/04/23 Javascript
FusionCharts图表显示双Y轴双(多)曲线
2012/11/22 Javascript
Jquery操作radio的简单实例
2014/01/06 Javascript
jQuery实现验证年龄简单思路
2016/02/24 Javascript
Angular实现的进度条功能示例
2018/02/18 Javascript
vue点击按钮动态创建与删除组件功能
2019/12/29 Javascript
JavaScript实现横版菜单栏
2020/03/17 Javascript
[02:02]2018DOTA2亚洲邀请赛Mineski赛前采访
2018/04/04 DOTA
python 实现在Excel末尾增加新行
2018/05/02 Python
python使用adbapi实现MySQL数据库的异步存储
2019/03/19 Python
简单了解Python生成器是什么
2019/07/02 Python
Python 切分数组实例解析
2019/11/07 Python
python代码实现TSNE降维数据可视化教程
2020/02/28 Python
纯css3实现鼠标经过图片显示描述的动画效果
2014/09/01 HTML / CSS
德国电子产品购物网站:TechInTheBasket德国
2018/12/07 全球购物
CK巴西官方网站:Calvin Klein巴西
2019/07/19 全球购物
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
2015/07/16 面试题
jQuery treeview树形结构应用
2021/03/24 jQuery
令人啧啧称赞的经理推荐信
2013/11/07 职场文书
工程力学硕士生的自我评价范文
2013/11/16 职场文书
办理暂住证介绍信
2014/01/11 职场文书
幼儿园春季开学寄语
2014/04/03 职场文书
反对四风自我剖析材料
2014/10/07 职场文书
项目转让协议书
2014/10/27 职场文书
西安大雁塔导游词
2015/02/10 职场文书
《去年的树》教学反思
2016/02/18 职场文书
Python调用腾讯API实现人脸身份证比对功能
2022/04/04 Python
PostgreSQL并行计算算法及参数强制并行度设置方法
2022/04/06 PostgreSQL
排查并解决MySQL生产库内存使用率高的报警
2022/04/11 MySQL
python中 .npy文件的读写操作实例
2022/04/14 Python