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


Posted in Javascript onJuly 28, 2016

其实总结起来如下:

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

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

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

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

百度知道的回答:

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

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

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

Javascript 相关文章推荐
JQuery实现简单验证码提示解决方案
Dec 20 Javascript
JS子父窗口互相操作取值赋值的方法介绍
May 11 Javascript
jquery判断RadioButtonList和RadioButton中是否有选中项示例
Sep 29 Javascript
jQuery实现动态表单验证时文本框抖动效果完整实例
Aug 21 Javascript
JS Attribute属性操作详解
May 19 Javascript
AngularJS 过滤器的简单实例
Jul 27 Javascript
JS控制静态页面之间传递参数获取参数并应用的简单实例
Aug 10 Javascript
解析javascript图片懒加载与预加载的分析总结
Oct 27 Javascript
Vue引入sass并配置全局变量的方法
Jun 27 Javascript
elementUI select组件value值注意事项详解
May 29 Javascript
node获取客户端ip功能简单示例
Aug 24 Javascript
vue+axios 拦截器实现统一token的案例
Sep 11 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
全国FM电台频率大全 - 10 江苏省
2020/03/11 无线电
分页显示Oracle数据库记录的类之二
2006/10/09 PHP
php实现的用户查询类实例
2015/06/18 PHP
WordPress中用于更新伪静态规则的PHP代码实例讲解
2015/12/18 PHP
浅谈PHP中关于foreach使用引用变量的坑
2016/11/14 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
2017/12/21 PHP
javascript SocialHistory 检查访问者是否访问过某站点
2008/08/02 Javascript
6款经典实用的jQuery小插件及源码(对话框/提示工具等等)
2013/02/04 Javascript
JSF中confirm弹出框的用法示例介绍
2014/01/07 Javascript
JS获得浏览器版本和操作系统版本的例子
2014/05/13 Javascript
jQuery支持动态参数将函数绑定到事件上的方法
2015/03/17 Javascript
JavaScript汉诺塔问题解决方法
2015/04/21 Javascript
JS实现选择TextArea内文本的方法
2015/08/03 Javascript
Javascript基础教程之比较null和undefined值
2016/05/16 Javascript
node-http-proxy修改响应结果实例代码
2016/06/06 Javascript
用node和express连接mysql实现登录注册的实现代码
2017/07/05 Javascript
jQuery-ui插件sortable实现自由拖动排序
2018/12/01 jQuery
详解小程序开发经验:多页面数据同步
2019/05/18 Javascript
ES6 async、await的基本使用方法示例
2020/06/06 Javascript
Javascript call及apply应用场景及实例
2020/08/26 Javascript
python检测远程udp端口是否打开的方法
2015/03/14 Python
【Python】Python的urllib模块、urllib2模块批量进行网页下载文件
2016/11/19 Python
python实现内存监控系统
2021/03/07 Python
matplotlib实现区域颜色填充
2019/03/18 Python
解决pycharm 工具栏Tool中找不到Run manager.py Task的问题
2019/07/01 Python
python使用opencv在Windows下调用摄像头实现解析
2019/11/26 Python
Tensorflow Summary用法学习笔记
2020/01/10 Python
pytorch实现查看当前学习率
2020/06/24 Python
建筑工程技术应届生自荐信
2013/09/27 职场文书
淘宝客服自我总结鉴定
2014/01/25 职场文书
运动会口号16字
2014/06/07 职场文书
4s店销售经理岗位职责
2014/07/19 职场文书
病危通知单
2015/04/17 职场文书
《当代神农氏》教学反思
2016/02/23 职场文书
python的netCDF4批量处理NC格式文件的操作方法
2022/03/21 Python
Elasticsearch 批量操作
2022/04/19 Python