我是JavaScript的新手,正在学习递归函数。具体而言,我正在研究欧几里得算法。除了第2行的基本情况"if ( ! b) { return a; }"外,其他都很清楚。我知道在某个时候a % b将等于NaN,这就是递归调用应该停止的时候。但是"if ( ! b)"在最简单的形式下是什么意思?我无法理解这一点。提前感谢您的反馈!
// Euclid's Algorithm
var gcd = function(a, b) {
if (!b) {
return a;
}
return gcd(b, a % b);
};
console.log(gcd(462, 910));