js编程,探讨一下js多层函数的写法,多层函数如何编写?
发布于 作者:苏南大叔 来源:程序如此灵动~

本文依然探讨javascript
函数的罕见写法,多层函数的写法,依然是分两种函数写法做分类。如何处理多层js
函数的问题呢?
苏南大叔的程序如此灵动博客,记录苏南大叔的计算机代码方面的写法。测试环境:node@16.14.2
。这种语法现象苏南大叔称之为“多层函数”,不知道更加官方的说法是什么,如有不妥,还请留言。
多层函数第一种
第一种就是()=>{}
这种语法糖的写法。
const sunan = (...args) => {
console.log(args);
}
const sunan2 = (...args) => arg => {
console.log(args, arg);
}
const sunan3 = (...args) => arg => arg2 => {
console.log(args, arg, arg2);
}
sunan("a", "b");
sunan2("a", "b")("c");
sunan3("a", "b")("c")("d");
多层函数第二种
第二种就是更加传统的return
层层嵌套的这种写法。
function sunan4(...args) {
console.log(args);
}
function sunan5(...args) {
return function a(arg) {
console.log(args, arg);
}
}
function sunan6(...args) {
return function a(arg) {
return function a(arg2) {
console.log(args, arg, arg2);
}
}
}
sunan4("a", "b");
sunan5("a", "b")("c");
sunan6("a", "b")("c")("d");
相关链接
结束语
在目前苏南大叔看的代码中,这种多层返回的函数写法,非常常见。更多苏南大叔的js
函数经验文章,请点击链接:


