当前位置:

首页 > 编程开发 > 【命令式编程和声明式编程】

【命令式编程和声明式编程】

一、命令式编程和声明式编程 先从一个简单的例子说起,这能帮你快速抓住两者的精髓: 想象一下,你在家对妈妈说:“妈,我要吃糖醋排骨!” 很明显,你只关心“吃到糖醋排骨”这个结果。至于这盘排骨是妈妈亲自下厨忙活半天做出来的,还是她顺手点了个外卖送来的,只要最终能让你大快朵颐,过程如何,你可能并不在意。

一、命令式编程和声明式编程

先从一个简单的例子说起,这能帮你快速抓住两者的精髓:

想象一下,你在家对妈妈说:“妈,我要吃糖醋排骨!” 很明显,你只关心“吃到糖醋排骨”这个结果。至于这盘排骨是妈妈亲自下厨忙活半天做出来的,还是她顺手点了个外卖送来的,只要最终能让你大快朵颐,过程如何,你可能并不在意。

同样的道理,公司领导对你说:“这个月业绩必须上千。” 领导要的是“业绩上千”这个结果。至于你是靠加班加点拼出来的,还是轻轻松松就达成了目标,说实话,领导通常不会过问细节。

再来看一个技术场景:操作网页的DOM时,你想获取所有包含“beautiful”这个class的元素。你只需要写下 document.querySelectorAll(‘.beautiful’) 这一句声明,而完全不用操心Ja vaScript引擎是如何在DOM树里翻箱倒柜,把这些元素一个个找出来交给你的。

从这几个例子能得出什么结论呢?

在家里,你关注“吃什么”(糖醋排骨),妈妈操心“怎么弄来”(烹饪或点餐)。你是在做声明式编程,而你妈妈是在做命令式编程。

在公司,领导关注“要什么”(业绩上千),你操心“怎么做”(完成工作)。领导是在做声明式编程,而你是在做命令式编程。

在DOM操作中,你关注“结果”(拿到元素),Ja vaScript引擎操心“过程”(查找并返回)。你是在做声明式编程,而引擎是在做命令式编程。

总结一下:

声明式编程,关注的是 What to do(做什么)。
命令式编程,关注的是 How to do(怎么做)。

(1) 命令式编程

特点非常鲜明:注重过程。开发者需要像指挥官一样,明确告诉程序每一步具体该做什么。用原生的DOM操作来创建页面元素,就是个典型的例子。

☀️ 来看一个具体实例:




Document

  
  • 西安又有疫情了
  • 高校推迟开学

效果展示:

在这里插入图片描述 在这里插入图片描述

(2) 声明式编程

它的核心是注重结果。开发者直接告诉程序“我想要什么”,而不必事无巨细地指导每一步。使用React等现代框架编写UI,就是这种风格的体现。

☀️ 举个实例(与上例功能对比):





  

效果展示与上例完全一样:

在这里插入图片描述 在这里插入图片描述

需要注意的一点是:

命令式编程与声明式编程本身并没有绝对的优劣之分。当使用者是我们人类时,声明式风格往往更受欢迎,这多少源于我们追求简洁高效的“惰性”。但对机器而言,命令式编程显然更易于理解和执行,说得更直白点,机器码本身就是一连串精确的“命令”。

此外,从代码调试的角度看,声明式编程有时会带来挑战。比如,当 querySelectorAll 这个接口出错时,你很难像调试普通函数一样一步步跟踪进去。这就对底层命令式代码的稳定性提出了更高要求——我们必须确保提供的“脏活累活”服务足够稳定和可靠。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
作者最新文章
编程开发 编程
相关文章 更多
仿脑光敏器件拥有可编程“遗忘机制”
仿脑光敏器件拥有可编程“遗忘机制”

美国俄勒冈州立大学研发出集成感知、存储与处理的新型光敏器件,具备可编程遗忘机制。通过栅极电压调控电荷位置,可主动增强或衰减记忆,有效降低能耗,为高效低功耗人工智能硬件提供新方向。

编程之美!从线程池状态管理来看二进制操作之美
编程之美!从线程池状态管理来看二进制操作之美

二进制操作在框架设计中被频繁使用,使用二进制在不同场景有提升计算速度、较少内存占用等多种优点;下面,我们依据线程池的状态管理,来看下怎么通过操作二进制对状态进行管理,过程中会发现编程之美~线程池状态首先,为了文章的完整性,我们还是先了解一下线程池的状态,总结如下如: 线程池状态分为5种:RUNNIN

编程化人类细胞能自主执行计算和决策
编程化人类细胞能自主执行计算和决策

以色列希伯来大学在《自然·通讯》发表研究,利用RNA反式剪接构建模块化人工遗传系统,使人类细胞能自主计算决策。系统内含全加法器与多路复用器,可并行处理多路信号并自带安全机制,未来可用于智能治疗细胞。

百度官网入口最新版 百度搜索网页版直达
百度官网入口最新版 百度搜索网页版直达

百度官方在线入口最新版网页版直达官网是https://www.baidu.com/,界面简洁无干扰、多端同步体验一致、内容聚合维度丰富、语音与图像识别稳定、隐私控制机制可见。

结束12天受限预览,GPT-5.6正式发布,Codex与ChatGPT合二为一
结束12天受限预览,GPT-5.6正式发布,Codex与ChatGPT合二为一

OpenAI发布GPT-5.6系列模型(Sol、Terra、Luna),结束12天受限预览。独立运行近一年的Codex应用并入ChatGPT桌面端,整合对话、编程与长程任务执行。新模型强调性能、速度与成本平衡,Sol在编程和Agent场景表现领先,但综合推理仍不及Claude系列。同步推出ChatGPTWork智能体,并实现Luna后训练由Sol自主完成。

必应国际版官网入口及登录方式
必应国际版官网入口及登录方式

必应Bing国际版官网入口是www.bing.com。该网址支持多语言和区域设置,提供多样化的搜索结果及个性化功能,如跨设备同步、主题更换和每日精选壁纸等。

百度官网入口链接 百度平台官方主页访问
百度官网入口链接 百度平台官方主页访问

百度官方网站入口链接是www.baidu.com,用户可通过该网址访问百度搜索及地图、网盘等服务,登录账号管理个人信息,并使用站长工具提交资源、分析数据。

java游戏高级编程 用不好怎么办?问题排查指南
java游戏高级编程 用不好怎么办?问题排查指南

Java游戏开发中常见性能卡顿、逻辑错误、维护困难及兼容性问题。应使用剖析工具定位性能瓶颈,关注并发与事件处理逻辑,通过单元测试验证。代码需遵循设计模式,保持模块独立。环境应确保JDK与依赖库版本兼容,并建立从单元到压力的多层次测试体系,结合重构持续优化。

java游戏高级编程 入门:从基础认知到上手使用
java游戏高级编程 入门:从基础认知到上手使用

Java游戏开发凭借跨平台特性广泛应用于移动端、网页及独立游戏领域。入门需掌握核心特性与框架选择,搭建开发环境。关键环节包括理解游戏循环、架构设计与图形渲染,并高效处理输入、更新与渲染。之后实现交互逻辑,进行性能与游戏性优化,最终打包发布,完成开发闭环。

eroot官网实战案例详解:如何高效解决编程问题
eroot官网实战案例详解:如何高效解决编程问题

数据处理服务因缓存策略缺陷导致内存过高和崩溃。通过监控工具定位问题后,修复了缓存逻辑、移除冗余缓存并完成测试验证。案例总结出高效解决问题的关键:准确定义问题、善用工具、分解步骤、深挖根源、验证预防,体现了系统性思维与经验积累的重要性。

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

PDF教程
PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

Mac软件 更多
Postman macOS版
Postman macOS版
Mac

Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。

Docker Desktop macOS版
Docker Desktop macOS版
Mac

Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。

Android Studio macOS版
Android Studio macOS版
Mac

Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。

WINDOWS 更多
Postman Windows版
Postman Windows版
Windows

Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等

Docker Desktop Windows版
Docker Desktop Windows版
Windows

Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。

Android Studio Windows版
Android Studio Windows版
Windows

Android Studio 是 Google 面向 Android 应用开发提供的官方集成开发环境,以 IntelliJ IDEA 为基础,集成智能代码编辑、Gradle 构建、设备模拟、界面预览、调试测试及性能分析工具,