函数引用和函数调用的区别

我们现在来理解下函数引用和函数调用的本质区别:当引用函数时候,多个变量内存存储的是函数的相同的入口指针,因此对于同一个函数来讲,无论多少个变量引用,他们都是相等的,因为对于引用类型(对象,数组,函数等)都是比较的是内存地址,如果他们内存地址一样的话,说明是相同的;但是对于函数调用来讲,比如代码三;每次调用的时候,都被分配一个新的内存地址,所以他们的内存地址不相同,因此他们会返回false,但是对于代码二来讲,我们看到他们没有返回函数,只是返回数值,他们比较的不是内存地址,而是比较值,所以他们的值相等,因此他们也返回true,我们也可以看看如下实列化一个对象的列子,他们也被分配到不同的内存地址,因此他们也是返回false的;如下代码测试:

function F(){
this.x = 5;
}
var a = new F();
var b = new F();
console.log(a === b); // false

函数与一般变量的差异,在于如何使用数据。与函数相关的数据(或代码)可被执行。想执行函数时,就在函数名称后加上括号(),如果函数需要自变量,也要记得附加上。

函数变量的值不是代码本身,而是指向存储代码的存储器位置的引用。

回调函数。 简单理解就是:函数a有一个参数,这个参数是个函数b,当函数a执行完以后执行函数b。那么这个过程就叫回调。
---------------------

在C语言或其他大部分语言中,当函数return了之后,函数内部申明的变量将被销毁,因为函数内部的变量是在栈上的,栈会随着函数的退出而销毁,如果不理解的,可以去研究下C++的传值和传引用。

 

转载于:https://www.cnblogs.com/shucher/p/10161839.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值