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
代码经验文章,请点击:
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。