Javascript 确定此函数是完成还是永远运行
我对这个问题有点困惑。这是代码Javascript 确定此函数是完成还是永远运行,javascript,Javascript,我对这个问题有点困惑。这是代码 var finishes = function (f,x) { //fill this in } 在尝试实现此函数之前,请考虑以下事项: var p = function (g) { if(finishes(g,g)){ while (true) { } } }; 基本上,函数p接受一个函数g并在g(g)永远运行时结束,在g(g)结束时永远运行。那么,调用p(p)的含义是什么?这意味着写函数“finishs”的可能性有多大 我对这个问题的措辞感
var finishes = function (f,x) {
//fill this in
}
在尝试实现此函数之前,请考虑以下事项:
var p = function (g) {
if(finishes(g,g)){
while (true) { }
}
};
基本上,函数p接受一个函数g并在g(g)
永远运行时结束,在g(g)
结束时永远运行。那么,调用p(p)
的含义是什么?这意味着写函数“finishs”的可能性有多大
我对这个问题的措辞感到困惑。有人能解释一下吗?这已被证明是不确定的,因此您无法真正预测任何函数作为输入是否会结束
这被称为。@aduch开始说,但没有完全完成他的问题,就是
p
函数的意义不是它做了什么,而是它否定了什么:
假设有一个函数finishs
,它可以告诉您另一个函数是否停止/停止。如果我们运行p(p)
,不会发生什么
如果完成
返回真正意义p
停止,那么p将永远运行
如果完成
返回假含义p
从不停止,那么p将停止
因此,不可能有函数
完成
可以告诉您函数是否停止请注意,如果完成返回错误,它将不会永远运行。我没想到会如此有趣