js中的函数名 -- 引用地址到底是什么意思 ?

在网上看到这样一段话:(在js中),因为函数是Function的实例,而函数名仅仅是该实例的一个引用地址。因此可以作为参数和返回值参与到函数的传参过程中。function... 在网上看到这样一段话:
(在js中),因为函数是Function的实例,而函数名仅仅是该实例的一个引用地址。因此可以作为参数和返回值参与到函数的传参过程中。
function call_some_function(some_function, some_argument) {
return some_function(some_argument);
}
function add_10(num) {
return num + 10;
}
console.log(call_some_function(add_10,20)); //30

===============
为什么说:因为函数名只是一个引用地址,所以,函数名可以做为参数和返回值参与到函数的传参过程中?
难道说地址可以做为参数和返回值,还是什么其他意思,那还有什么数据类型不能参与到传参中去呢?
展开
 我来答
bfdnyj
2015-03-02 · TA获得超过469个赞
知道小有建树答主
回答量:217
采纳率:100%
帮助的人:132万
展开全部
js 中的函数也是一种对象(Function类型的对象),函数名有两种:
常量函数名 function fnname(……){……}
变量函数弯嫌燃名 var fnname=function(……){…埋虚…}; // 将一个匿名函数赋值给一个变量

由于函数也是对象,你甚至可以通过函数名在函数对象上附加数据:
fnname.xxx=……; 或 fnname['xxx']=……;

这两种函数名都可以做为参数和返回值。

js 中的任何数据类型都可以做为参数和返回值。
由于 Array, String, Number……Function 实际上也是函数,只不过是js中预定的函数
(Array是数组的构造函数,String是字符串的构造函数,Number是数值的构造函数……Function是函数者辩的构造函数)。
所以 Array, String, Number,Function 等数据类型也可以赋值给变量,也可以做为参数和返回值。
zero7u
2015-03-02 · TA获得超过238个赞
知道小有建树答主
回答量:171
采纳率:0%
帮助的人:155万
展开全部
js是基于对象的语言,在js里面一切皆对象,游渗所有的变量实际上都是引用,引用是在神升脊堆里的,实际的值是在栈里的,如果值的引用数为0就会被垃圾回收,就是这个道理,建议找本书系统笑扰看下就清楚了。
更多追问追答
追问
您说的挺好的。
追答
哎,说的多的没说到点子上,伤心~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式