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


Posted in Javascript onJuly 28, 2016

其实总结起来如下:

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

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

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

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

百度知道的回答:

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

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

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

Javascript 相关文章推荐
基于jquery的一个OutlookBar类,动态创建导航条
Nov 19 Javascript
容易被忽略的JS脚本特性
Sep 13 Javascript
JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js
Aug 14 Javascript
js实现仿QQ秀换装效果的方法
Mar 04 Javascript
yii form 表单提交之前JS在提交按钮的验证方法
Mar 15 Javascript
js绑定事件和解绑事件
Apr 27 Javascript
深究AngularJS如何获取input的焦点(自定义指令)
Jun 12 Javascript
Angularjs的$http异步删除数据详解及实例
Jul 27 Javascript
vue-cli脚手架config目录下index.js配置文件的方法
Mar 13 Javascript
深入理解移动前端开发之viewport
Oct 19 Javascript
详解Ant Design of React的安装和使用方法
Dec 27 Javascript
JS实现电脑虚拟键盘打字测试
Jun 24 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 simplexmlElement操作xml的命名空间实现代码
2011/01/04 PHP
利用PHP扩展vld查看PHP opcode操作步骤
2013/03/04 PHP
php基于Redis消息队列实现的消息推送的方法
2018/11/28 PHP
JS 页面内容搜索,类似于 Ctrl+F功能的实现代码
2007/08/13 Javascript
js或css文件后面跟参数的原因说明
2010/01/09 Javascript
AngularJS快速入门
2015/04/02 Javascript
javascript动态创建表格及添加数据实例详解
2015/05/13 Javascript
javascript与Python快速排序实例对比
2015/08/10 Javascript
Vue如何实现组件的源码解析
2017/06/08 Javascript
Vue 2.0的数据依赖实现原理代码简析
2017/07/10 Javascript
老生常谈javascript的面向对象思想
2017/08/22 Javascript
[js高手之路]寄生组合式继承的优势详解
2017/08/28 Javascript
微信小程序rich-text富文本用法实例分析
2019/05/20 Javascript
vue各种事件监听实例(小结)
2020/06/24 Javascript
[19:14]DOTA2 HEROS教学视频教你分分钟做大人-维萨吉
2014/06/24 DOTA
[03:09]2014DOTA2国际邀请赛 赛场上的美丽风景线 中国Coser也爱DOTA2
2014/07/20 DOTA
[58:21]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第二场
2018/04/04 DOTA
Django中更改默认数据库为mysql的方法示例
2018/12/05 Python
Python对HTML转义字符进行反转义的实现方法
2019/04/28 Python
Python中psutil的介绍与用法
2019/05/02 Python
python命令行工具Click快速掌握
2019/07/04 Python
python中判断文件结束符的具体方法
2020/08/04 Python
草莓网美国官网:Strawberrynet USA
2016/12/11 全球购物
荷兰在线钓鱼商店:Raven
2019/06/26 全球购物
匡威西班牙官网:Converse西班牙
2019/10/01 全球购物
卡拉威高尔夫官方网站:Callaway Golf
2020/09/16 全球购物
输入一行文字,找出其中大写字母、小写字母、空格、数字、及其他字符各有多少
2016/04/15 面试题
英智兴达软件测试笔试题
2016/10/12 面试题
护士自我介绍信
2014/01/13 职场文书
关于环保的建议书
2014/05/12 职场文书
暑期社会实践证明书
2014/11/17 职场文书
2014年建筑工作总结
2014/11/26 职场文书
公司职员入党自传书
2015/06/26 职场文书
期中考试后的感想
2015/08/07 职场文书
家长必看:义务教育,不得以面试 评测等名义选拔学生
2019/07/09 职场文书
php微信小程序解包过程实例详解
2021/03/31 PHP