javascript,如何隐式的为函数传入一个默认参数?
发布于 作者:苏南大叔 来源:程序如此灵动~
在以前的文章中,苏南大叔写过python下,有个非常特殊的函数使用方式,那就是函数的实参分为两次传递,利用的函数叫做functools.partial()。在本文中,在javascript编程下,也有个非常类似的用法,可以先传入一个参数,生成一个新函数,剩下的参数,再传一次。

大家好,这里是苏南大叔的程序如此灵动博客,这里记录苏南大叔和计算机代码的故事。本文描述了一个js编程中的一个非常特殊的用法,函数的参数分开传递调用。测试环境:node@16.14.2。
前文回顾
前文是python环境下的,参考代码:
import functools
def fn(args1, args2):
if(args1 == ""):
raise TypeError
return [args1, args2]
fn2 = functools.partial(fn, "a1") # 新的函数fn2
print(fn2("a2")) // ["a1","a2"]参考链接:
在这段代码中,fn函数需要两个形参,先传入了第一个参数a1,得到了一个新的函数fn2,然后传入第一个参数a2,最终输出["a1","a2"]。
重点内容:js代码
js代码,实现上面的类似逻辑,代码如下:
function fn(a){
return function _fn(b){
console.log(a,b);
}
}
var fn2 = fn("a1");
fn2("a2"); // ["a1","a2"]在这个例子中,函数fn2中,并没有显式的传入a1的字样,但是确实在结果中输出了出来。也就是说,参数分开进行了传递。先传入参数a1,得到了一个新的函数fn2,再调用fn2函数。

相关文章
- https://newsn.net/say/python-functools.html
- https://newsn.net/say/js-hook.html
- https://newsn.net/say/js-get-computed-style.html
总结
更多js代码经验文章,请点击: