为函数的隐式声明的局部变量赋值被认为是不好的做法?
It is considered bad practice to assign a value to an implicitly declared local variable of a function?
问题:给隐式声明的函数局部变量赋值被认为是不好的做法?如果是这样,分配隐式声明的函数局部变量的首选方法是什么
function foo(baz) {
baz = 3; //this is implicitly declared by the function's argument baz
}
foo()
我觉得有点没用。因为你传递什么值并不重要,你只需用你想要的任何东西覆盖它。所以,这不是一个坏习惯,只是一个无用的功能。请勿冒犯。
这让我想起了:
function random_number() {
return 7;
}
我不认为这是一种不好的做法(因为有害),只是不是一个好做法。一个有益的效果是将代码长度减少 4 个字符,因为它替换了函数内的变量声明。这仅适用于第一个变量,之后没有任何好处,如果声明了其他变量,则好处为零。
然而,代码可读性受到影响,函数签名被不必要地混淆,例如
function foo(bar) {
/* some code */
}
让用户想知道应该将什么传递给 bar,而:
function foo() {
var bar;
/* some code */
}
明确表示 foo 不接受任何参数。
形式参数在声明之前处理,但我看不出有任何好处或副作用。
问题:给隐式声明的函数局部变量赋值被认为是不好的做法?如果是这样,分配隐式声明的函数局部变量的首选方法是什么
function foo(baz) {
baz = 3; //this is implicitly declared by the function's argument baz
}
foo()
我觉得有点没用。因为你传递什么值并不重要,你只需用你想要的任何东西覆盖它。所以,这不是一个坏习惯,只是一个无用的功能。请勿冒犯。
这让我想起了:
function random_number() {
return 7;
}
我不认为这是一种不好的做法(因为有害),只是不是一个好做法。一个有益的效果是将代码长度减少 4 个字符,因为它替换了函数内的变量声明。这仅适用于第一个变量,之后没有任何好处,如果声明了其他变量,则好处为零。
然而,代码可读性受到影响,函数签名被不必要地混淆,例如
function foo(bar) {
/* some code */
}
让用户想知道应该将什么传递给 bar,而:
function foo() {
var bar;
/* some code */
}
明确表示 foo 不接受任何参数。
形式参数在声明之前处理,但我看不出有任何好处或副作用。