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
===============
为什么说:因为函数名只是一个引用地址,所以,函数名可以做为参数和返回值参与到函数的传参过程中?
难道说地址可以做为参数和返回值,还是什么其他意思,那还有什么数据类型不能参与到传参中去呢? 展开
(在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
===============
为什么说:因为函数名只是一个引用地址,所以,函数名可以做为参数和返回值参与到函数的传参过程中?
难道说地址可以做为参数和返回值,还是什么其他意思,那还有什么数据类型不能参与到传参中去呢? 展开
展开全部
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 等数据类型也可以赋值给变量,也可以做为参数和返回值。
常量函数名 function fnname(……){……}
变量函数名 var fnname=function(……){……}; // 将一个匿名函数赋值给一个变量
由于函数也是对象,你甚至可以通过函数名在函数对象上附加数据:
fnname.xxx=……; 或 fnname['xxx']=……;
这两种函数名都可以做为参数和返回值。
js 中的任何数据类型都可以做为参数和返回值。
由于 Array, String, Number……Function 实际上也是函数,只不过是js中预定的函数
(Array是数组的构造函数,String是字符串的构造函数,Number是数值的构造函数……Function是函数的构造函数)。
所以 Array, String, Number,Function 等数据类型也可以赋值给变量,也可以做为参数和返回值。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询