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


Posted in Javascript onJuly 28, 2016

其实总结起来如下:

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

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

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

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

百度知道的回答:

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

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

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

Javascript 相关文章推荐
javascript中的107个基础知识收集整理 推荐
Mar 29 Javascript
javascript 精粹笔记
May 09 Javascript
获取客户端网卡MAC地址和IP地址实现JS代码
Mar 17 Javascript
使用javascript创建快捷方式的简单实例
Aug 09 Javascript
JavaScript使用cookie实现记住账号密码功能
Apr 27 Javascript
Webpack 实现 AngularJS 的延迟加载
Mar 02 Javascript
基于jQuery日历插件制作日历
Mar 11 Javascript
JS打印彩色菱形的实例代码
Aug 15 Javascript
浅谈微信页面入口文件被缓存解决方案
Sep 29 Javascript
Phaser.js实现简单的跑酷游戏附源码下载
Oct 26 Javascript
Vue 自定义标签的src属性不能使用相对路径的解决
Sep 17 Javascript
vue打开其他项目页面并传入数据详解
Nov 25 Vue.js
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 过滤危险html代码
2009/06/29 PHP
ThinkPHP令牌验证实例
2014/06/18 PHP
PHP设计模式之适配器模式原理与用法分析
2018/04/25 PHP
PHP与Perl之间知识点区别整理
2019/03/19 PHP
slice函数的用法 之不错的应用
2006/12/29 Javascript
JavaScript高级程序设计(第3版)学习笔记5 js语句
2012/10/11 Javascript
ie与ff下的event事件使用介绍
2013/11/25 Javascript
jQuery实现拖动调整表格单元格大小的代码实例
2015/01/13 Javascript
jQuery实现自定义checkbox和radio样式
2015/07/13 Javascript
jquery实现仿新浪微博评论滚动效果
2015/08/06 Javascript
jQuery使用$.ajax提交表单完整实例
2015/12/11 Javascript
深入理解vue路由的使用
2017/03/24 Javascript
BootStrap selectpicker后台动态绑定数据
2017/06/01 Javascript
详解React中的组件通信问题
2017/07/31 Javascript
three.js中文文档学习之创建场景
2017/11/20 Javascript
通过一次报错详细谈谈Point事件
2018/05/17 Javascript
零基础之Node.js搭建API服务器的详解
2019/03/08 Javascript
JavaScript(js)处理的HTML事件、键盘事件、鼠标事件简单示例
2019/11/19 Javascript
js实现简单扫雷
2020/11/27 Javascript
Python 面向对象 成员的访问约束
2008/12/23 Python
使用beaker让Facebook的Bottle框架支持session功能
2015/04/23 Python
学生信息管理系统python版
2018/10/17 Python
Python实现桌面翻译工具【新手必学】
2020/02/12 Python
使用Python+selenium实现第一个自动化测试脚本
2020/03/17 Python
详解Python 中的 defaultdict 数据类型
2021/02/22 Python
css3.0新属性效果在ie下的解决方案
2010/05/10 HTML / CSS
Html5剪切板功能的实现代码
2018/06/29 HTML / CSS
DKNY品牌官网:纽约大都会时尚风格
2016/10/20 全球购物
李维斯法国官网:Levi’s法国
2019/07/13 全球购物
工地资料员岗位职责
2013/12/31 职场文书
战友聚会邀请函
2014/01/18 职场文书
挂科检讨书范文
2014/02/20 职场文书
商场周年庆活动方案
2014/08/19 职场文书
十大最强电系宝可梦,阿尔宙斯电系之一,第七被称为雷神
2022/03/18 日漫
oracle数据库去除重复数据
2022/05/20 Oracle
PostgreSQL出现死锁该如何解决
2022/05/30 PostgreSQL