javascript - Javascript 过程是部分的还是全部的?

标签 javascript dynamic partial

这个问题可能太具体了;然而,我相信知识渊博的人的各种答案可能对理解动态语言(例如 Javascript)(我的问题的语言基础)非常有帮助。

为了让每个人都阅读到共同的地方,这里有一些文献:

Liskov (2001) Java 程序开发将整个过程描述为total,如果...“其行为针对所有合法输入进行了指定”(54)。那么,如果允许非法输入并且该输入的行为未定义,则部分(正如她也写的)是部分的。

尽管上面没有解释一些微妙之处,但从我自己的研究来看,完全和部分之间的区别似乎非常明显,特别是对于静态类型语言。根据我的理解,术语“部分”最常用于指允许破坏过程的形式参数 - 导致过程体内出现未处理错误的参数。

程序是用动态类型语言编写的 - 这里用于原始输入 - 部分还是全部?

如果你有这本书,另一页要仔细看的是p。 58(如果没有,你可以在网上找到一个相当可靠的 pdf 文件)。

注意(有关评论):

我理解部分和全部的概念是独立于语言的,并且具体指每个过程的实现;但是,我问的是一般动态类型语言,其中输入的“合法性”以及这些规则的执行似乎定义不太明确

最佳答案

JavaScript 上下文中“合法输入”的含义存在一些不确定性。可以使用任意数量的参数来调用函数,无论它是如何定义的。

也就是说,我也不认为 JavaScript 函数本质上是这样。一般情况下无法回答这个问题。当然,部分函数很容易生成,但我认为全部函数(根据您的定义)也是可能的:

function total_function(i) {
  return 1;
}

这里,所有可能的输入都会产生 1 的输出。无论您将函数调用为 total_function() 还是 total_function(1, 2, 3, 4, 5, 6, 7)total_function,都没有关系('这是一个字符串')

关于javascript - Javascript 过程是部分的还是全部的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28252436/

相关文章:

javascript - 如何使用正则表达式删除 javascript 中字符串开头和结尾的 <br> ?

javascript - 使用 $.each() 进行自定义 JQuery 验证

javascript - jQuery Each Loop 不从迭代中获取数据

WCF:使用部分类来拆分复杂的 Web 服务?

url - url中包含单词的href的xpath按针查找

javascript - 无法使用 webpack-dev-server 调用 React.Component.setState()

amazon-web-services - 具有动态内容的 Terraform 动态 block

CSS - 水平列表的动态宽度(在列表的列表列表中)

c++ - 如何为动态加载编写 MPI 包装器

Python获取部分函数的参数