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已更新。对不起^^啊,那就更有意义了!