
36
|
第
3
章
命令式和声明式
函数式编程还是更广义编程范式的一部分:声明式编程。声明式编程是一种编程风
格,采用该风格的应用程序代码有一个比较突出的特点,那就是对执行结果的描述远
胜于执行过程。
为了加深对声明式编程的理解,我们将会把它和命令式编程进行对比,该编程风格的
特点是
,
其代码重点关注的是达成目标的具体过程。接下来以一个比较常见的任务为
例:让字符串兼容
URL
格式。一般来说,这可以通过连字符替换字符串中的所有空格
实现,因为空格对
URL
地址的兼容性不佳。首先,我们使用命令式编程风格完成此任
务:
var string = "This is the midday show with Cheryl Waters";
var urlFriendly = "";
for (var i=0; i<string.length; i++) {
if (string[i] === " ") {
urlFriendly += "-";
} else {
urlFriendly += string[i];
}
}
console.log(urlFriendly);
在本示例中,我们循环遍历了字符串中的每个字符,并对其中遇到的空格进行了替
换。从该程序的结构来看,它只关注如何完成这样一个任务。我们使用了
for
循环和
if
语句,并使用同等的运算符进行赋值。单独看这些代码并不能告诉我们更多信息。命
令式编程风格需要辅以大量注释说明帮助用户理解它的具体用途。
现在我们使用声明式编程风格来解决同样的问题:
const string ...