JS各种概念

/纯函数(Pure Function):一个纯函数的输出只取决于输入参数,不会改变任何外部状态或产生副作用。

javascript 复制代码
// 纯函数示例

function add(a, b) {

    return a + b;

}

副作用(Side Effect):在函数执行期间对外部环境进行修改或造成其他影响的行为。

javascript 复制代码
// 副作用示例

let counter = 0;



function increment() {

    counter++;

}

increment();

console.log(counter); // 输出 1

颗粒化(Currying):将接受多个参数的函数转换为一系列接受单个参数并返回新函数的过程。

javascript 复制代码
function multiply(a) {

    return function(b) {

        return function(c) {

            return a * b * c;

        };

    };

}



console.log(multiply(2)(3)(4)); // 输出 24

高阶函数(Higher Order Function):能够接受函数作为参数或返回一个函数的函数。

javascript 复制代码
// 高阶函数示例

function operate(func, a, b) {

    return func(a, b);

}



function add(a, b) {

    return a + b;

}



console.log(operate(add, 3, 4)); // 输出 7

前端模块化是指将前端代码分割成多个独立的模块,每个模块都有特定的功能和责任。

这样做的好处包括提高代码的可维护性、可读性和复用性,同时也有利于团队协作和项目的扩展性。

在前端开发中,常用的模块化方案包括CommonJS、AMD(Asynchronous Module Definition)、CMD(Common Module Definition)和ES6 Modules等。

通过模块化,开发者可以更好地管理项目的代码结构,降低耦合度,提高开发效率。

相关推荐
smileNicky几秒前
React 弹窗组件如何在新标签页打开?
javascript·react.js·ecmascript
Csvn几秒前
类型驱动开发(Type-Driven Development):让类型约束先行为导向
前端
计算机魔术师1 分钟前
AI 代理把德国维基当留言板,OpenAI 闷声几周才承认
前端
艾莉丝努力练剑3 分钟前
【AI大模型接入SDK】Gemini模型接入知识体系
java·开发语言·网络·人工智能·网络协议·学习·http
yume_sibai5 分钟前
Element Plus 其他实用组件完全指南(10个核心组件)
前端·javascript·vue.js
传奇开心果编程6 分钟前
【Rust入门知识点学与练】第13课:枚举 Enum
开发语言·学习·rust
zhanghaha131411 分钟前
Python进阶教程:28_queue 队列模块 零基础超详细教程
java·开发语言·python
司小豆16 分钟前
第七课:DeepSeek Harness 服务与依赖注入
java·服务器·开发语言·github·ai编程
weixin1997010801628 分钟前
[特殊字符]《闲鱼 + 淘宝 + 1688 三平台库存同源:二手ERP主数据治理与超卖防御》(附Python源码)
开发语言·python
雪芽蓝域zzs29 分钟前
第二十二节:进阶:用户管理新增、编辑弹窗 + 表单校验
前端·javascript·vue.js