JS中函数的调用、引用有什么区别?

正在学JS,《精通JavaScript(第2版)》这本书中提到了调用、引用,但是没多解释。谁能解答?高手帮帮忙


网页
问问
科学
知识
更多

搜索
JS中函数的调用、引用有什么区别?
1、函数的调用简单点解释其实就是函数的使用,即你写好了这个函数,然后要让它发挥作用的时候,就通过函数的调用来呈现出来,比如你要计算1+2的值,你就可以封装个计算的方法(函数也叫方法),如:function sum(a,b){return a+b;}然后你就可以通过sum(1,2)调用的方式来算出计算结果;
2、对于函数的引用,我觉得准确点讲应该是叫函数的引用数据类型吧。在js里面,他分为两种大的数据类型:基本数据类型:(1)Number、String、Boolean、Null、 Undefined、Symbol(ES6),这些类型可以直接操作保存在变量中的实际值...

搜狗问问
查看更多
4
反馈
JS中函数的调用、引用有什么区别?的相关内容_知乎
Javascript中调用一个函数(对象),使用new或者直接调用有什...
如果是最典型的构造函数模式,必须加上new:function Man(age){ this.sex="male"; this.age=age; } m1=Man(20); m2=new Man(21); m1就是函数Man()执行的返回值,也就是undefined. 在函数执行过程中,属性被加到全局作用域或者Man方法所...

6个回答
javascript函数的调用模式有哪几种?
2个回答
2017-08-06
JavaScript 中立即调用的函数表达式,有什么独特优势?主要在什...
10个回答
2013-01-18
知乎
查看更多
JS中函数的调用、引用有什么区别?_CSDN博客
JavaScript 函数调用的四种方式与区别_weixin_33939380的博客-...
在JavaScript中函数有4种调用模式:方法调用模式、函数调用模式、构造器调用模式和apply(call)调... //以函数的方式调用change;}//以方法的形式调用changeName.myObj.changeName();console.log(...

2016-11-09
JS中的函数调用区别_Silence_JK的博客-CSDN博客
2016-12-05
javaScript函数的4种调用方法详解_山顶的小树苗-CSDN博客
2017-02-22
CSDN博客
查看更多
JavaScript中函数引用调用和函数直接调用的区别 - Lowki - 博客园
作为一门极其灵活而又混沌的语言,js不会允许这种情况发生,于是ES6这一标准提出了箭头函数的... 引用函数其实也是一个包装过的概念,比如本例中的 f ,它的本质只是栈内存的索引地址,更重要的...
博客园
88%的人还搜了
调用函数引用数组函数里有参数该怎么调用
c语言数组的引用数组为参数的函数调用
c语言数组怎么用js自调用函数的含义
函数调用数组函数的调用如何传递数组
js中函数的调用、引用有什么区别?_视频

09:08
Javascript教程-07-JavaScript中函数声明与调用
动力节点Java学院
2020-06-02

17:09
【学JavaScript看这个就够了】第四天15-函数调用栈的理解
叩丁狼stef
2020-02-02

10:15
【学JavaScript看这个就够了】第四天02-函数的定义和调用
叩丁狼stef
2020-02-02

11:05
【学JavaScript看这个就够了】第四天12-函数的递归调用
叩丁狼stef
2020-02-02

07:32
js023-function函数的定义和调用
oeasy
2020-01-20

04:58
js040-猜数字 判断大小 函数调用
oeasy
2020-01-20

04:57
js049-函数嵌套调用 输出网页换行符
oeasy
2020-01-20

05:46
js033-带参数的函数定义和调用 判断是否是整数
oeasy
2020-01-20
查看更多
搜狗视频
查看更多
javascript中的引用和调用函数的区别是什么? - html中文网
javascript中的引用函数和调用函数的区别是什么?下面本篇文章给大家介绍一下JavaScript中的引用函数、调用函数的区别。有一定的参考价值,有
www.html.cn
js中函数的调用、引用有什么区别?_约739个回答_搜狗知识
js中的函数名 -- 引用地址到底是什么意思 ?
[最佳答案] js 中的函数也是一种对象(Function类型的对象),函数名有两种:常量函数名 function fnname(……){……}变量函数名 var fnname=function(……){……}; // 将一个匿名函数赋值给一个变量由于函数也是对象,你甚...
搜狗问问
2016-12-04
JavaScript 函数调用的四种方式与区别
搜狗问问
2018-11-16
js中函数用new和直接调用的区别
搜狗问问
2016-11-07
搜狗知识
查看更多
JavaScript中判断函数是new还是()调用的区别说明_javascript技巧_...
具名函数的各种调用方式 在之前篇幅中已经介绍过了。这篇看看如何判断一个函数是被new调用的,还是被其它方式调用的。
脚本之家
js 函数 引用是什么-和js 函数 引用相关的问题-阿里云开发者社区
标签的onclick事件上引用下面的js里面的函数 问题 js事件监听中传递匿名函数与具名函数的区别,都... 让远程js知道它应该调用的本地函数叫什么名字,只要服务端提供的js脚本是动态生成的就好了,这...
阿里云
js里函数调用的四种模式 - 简书
关键字来调用,那么 js 会创建一个 prototype 属性是此函数的一个新对象,同时在调用这个函数的时... 有什么区别呢?就我个人看来,没啥鸟区别。。。开玩笑!刚刚说了,上面 apply() 接收两个参数...
简书
JavaScript函数调用是什么-和JavaScript函数调用相关的问题-阿里云开...
关于javascript中callback函数的疑问 a123456678 1006 浏览量 回答数 1 回答 如何实现 JavaScript ... 多谢你的解释 引用来自“wuyiw”的评论 第一个,a.b()仅仅是调用了b函数,函数里面的this指向a...
阿里云
下一页

用搜索APP,让搜索一触即得
立即下载
相关搜索
怎么调用参数是数组的方法js调用函数的几种方法
c语言中引用调用函数函数的形参为数组指针
js自定义函数的调用实例c 数组怎么用声明函数
js调用自己定义的函数函数调用过程
c语言如何调用外部数组c语言函数调用例子

搜索
首页-导航- 免责-用户反馈
© 2020 SOGOU.COM
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-11-19
刚进入行业的时候,我都是很少去思考这些看似简单而且见效慢的东西,直到几年前也就是我入行差不多两年的时候,我发现我的工作开始让我去思考这些细致的点了,然而,我发现搞懂这些知识点和学习一个框架什么的同样有意思。

下面转到这篇的正题。

如果你正在看这篇文章,那我们的目的就是一个:理清函数引用和函数调用的本质区别。其实很简单,下面我举几个例子,通过分析结果,大伙一下就会知道他们的区别了。

一、函数引用

运行结果:

g1:true

由上图看到,我们将函数g1赋值给了h1和k1两个变量。然后比较这两个变量,结果返回的是true。首先,对于引用类型(包括对象,数组,函数等)都比较的是内存地址,如果他们内存地址一样的话,说明是相同的。这里,当引用同一个函数的时候,不管多少个变量,内存存储的都是该函数相同的入口指针,内存地址相同,所以他们的比较是相等的。

二、函数调用

运行结果:

g2:true

由上图看到,我们将g2函数调用了两次,分别返回给了h2和k2两个变量。结果比较也是true。在看一个例子

运行结果:

g3:false

由上图看到,我们将g3函数调用了两次,分别返回给了h3和k3两个变量。结果比较也是false。由这两个例子可以得出一个结论:对于函数调用来讲,如果每次调用后返回的是一个函数,就需要分配一个新的内存地址,所以他们的内存地址不相同,因此,如第二个例子一样返回false。但假如每次调用后返回的是一个数值,他们比较的就不是内存地址,而是比较值,所以如例子一一样,返回的是就是true。

下面进一步证明函数引用的概念

我们知道JavaScript有构造函数实例化生成函数的概念,生成的每一个新函数赋值的都是一个新的引用,他们会被分配到不同的内存地址,比如:

上面这个例子就输出false。这也就进一步加深了对函数引用的理解。

三、写在最后的总结
函数引用存储的是一个指针,同一个函数的这个指针是相同的,而对于函数调用来说,同一个函数调用,如果调用后返回的是一个值,则比较的是值,如果返回的是一个函数,那每次返回的函数都需分配一个内存地址,(对于引用类型来说)比较内存地址自然不会相同。
第2个回答  2019-02-25
调用是 invoke,引用是 reference。
题主知道值类型和引用类型的区别吗?如果还不清楚,那么建议把书从头读。JS 中的函数是一种引用类型。
调用就是执行了这个函数。本回答被网友采纳
第3个回答  2020-11-18
1、函数的调用简单点解释其实就是函数的使用,即你写好了这个函数,然后要让它发挥作用的时候,就通过函数的调用来呈现出来,比如你要计算1+2的值,你就可以封装个计算的方法(函数也叫方法),如:
function sum(a,b){return a+b;}然后你就可以通过sum(1,2)调用的方式来算出计算结果;
2、对于函数的引用,我觉得准确点讲应该是叫函数的引用数据类型吧。在js里面,他分为两种大的数据类型:基本数据类型:(1)Number、String、Boolean、Null、 Undefined、Symbol(ES6),这些类型可以直接操作保存在变量中的实际值。(2)引用数据类型:Object(在JS中除了基本数据类型以外的都是对象,数据是对象,所以函数是对象,正则表达式也是对象)。对于这个的区别和理解可以参考这篇博客基本数据类型和引用数据类型区别
相似回答