Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 重新设计未定义的参数是否导致全局定义?_Javascript - Fatal编程技术网

Javascript 重新设计未定义的参数是否导致全局定义?

Javascript 重新设计未定义的参数是否导致全局定义?,javascript,Javascript,我有这个功能: Line.prototype.b = function (a) { a = a || this.a(); return this.y - a * this.x; } 我想知道a=a | | a()原因a在参数a未定义的情况下成为全局定义变量,就像我调用没有参数的函数一样。否,a将保留函数的参数,因为它是一个声明的参数。a=a | | a()-这将抛出。如果a是falsy,那么它显然不是函数,因此不能被调用。我想你想要a&&a()No。但是这到底意味着什么呢?您的

我有这个功能:

Line.prototype.b = function (a) {
    a = a || this.a();
    return this.y - a * this.x;
}

我想知道
a=a | | a()原因
a
在参数
a
未定义的情况下成为全局定义变量,就像我调用没有参数的函数一样。

否,
a
将保留函数的参数,因为它是一个声明的参数。

a=a | | a()-这将抛出。如果
a
是falsy,那么它显然不是函数,因此不能被调用。我想你想要
a&&a()
No。但是这到底意味着什么呢?您的意思是,“如果
a
不是truthy(所有函数都是truthy),那么将
a
设置为通过调用
a
找到的值。”。有点不对劲。@ŠimeVidas:oops,
是this.a()。抱歉^^@ScottSauyet已更新。对不起^^啊,那就更有意义了!