从前端角度来看声明式编程与命令式编程

引入概念

  • 声明式编程:告诉“机器”你想要的是什么(what),让机器想出如何去做(how)。
  • 命令式编程:命令“机器”如何去做事情(how),这样不管你想要的是什么(what),它都会按照你的命令实现。

怎么去解释以上两句话呢?

我们带着这两个概念,用我们最熟悉的技术来解释两种编程范式

声明式编程 (Declarative Programming)

告诉“机器”你想要的是什么(what),让机器想出如何去做(how)。

...more code
</head>

<body>
    <div id="box">声明式编程</div>
</body>
</html>
#box {
  width: 100px;
  height: 100px;
  color: #fff;
  background: #000;
}

命令式编程 (Imperative Programming)

命令“机器”如何去做事情(how),这样不管你想要的是什么(what),它都会按照你的命令实现。

var oDIv = document.createElement("div");
var text = document.createTextNode("命令式编程");
oDIv.appendChild(text);
oDIv.id = "box";
oDIv.style.width = 100 + "px";
oDIv.style.height = 100 + "px";
oDIv.style.color = "#FFF";
oDIv.style.background = "#000";
document.body.appendChild(oDIv);

总结

以上两个例子,得到的结果是一模一样的.

在我看来,声明式的背后是代码实现的高度抽象,声明式会让工作得到简化.

本文链接:

https://alili.tech/archive/sdwn0mwjjj8/