function functionFunction(str) {
var f = function(s){
return str + ", " + s;
}
return f;
}
如果我这样调用functionFunction('Hello')('world')后边的('world')代表什么
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
可以理解这个函数的闭包,当你调用world的时候。functionFunction那一层的的东西不会立即被垃圾回收
functionFunction('Hello')返回一个函数'world'是返回函数代入的参数这是闭包相关的概念
这就是闭包了,兄弟
因为在js中函数也是可以作为返回值的,functionFunction('Hello')是执行functionFunction函数,会返回一个函数,也就是你的函数f,functionFunction('Hello')('world')也就相当于是f('world'),不知道这样说你能不能理解('world')是什么了
你这么理解:
functionFunction('Hello')的返回结果是
再吧'world'作为参数传入替代了s的位置, 就变成了Hello, world