在javascript中,如果我必须使用变量foo,那么我必须先将其定义为var foo
。但是当我们在函数中使用参数时,例如as:
function myfunc(bar) {
alert(bar);
}
为什么我们不写function myfunc(var bar) {...}
? javascript如何知道bar
是变量?我记得在C ++中我们必须告诉编译器传递给函数的参数是一个变量
int myfunc ( char bar[] ) {...}
答案 0 :(得分:4)
语法foo = bar
不明确,可能是新变量的初始化,也可能是为现有变量赋值。由于这对于Javascript中的范围很重要,因此您需要明确使用var foo
来初始化新变量。
function (foo)
完全是明确的。 foo
是函数参数,因此也可用作变量初始化函数。区分function (var foo)
和function (foo)
是没有意义的,两者都会做同样的事情。
myfunc ( char bar[] )
做了完全不同的事情; char
这是类型提示。 Javascript没有类型提示。它只有var
关键字(以及相关的let
和const
)来初始化新变量,但这与类型或类型提示没有任何关系。
答案 1 :(得分:2)
因为JS
不支持它。就这么简单!
答案 2 :(得分:0)
javascript如何知道
bar
是变量?
因为函数的所有参数都是JavaScript中的局部变量。
与C ++相比,变量没有类型,因此您不必(也不能)指定函数参数的类型。
答案 3 :(得分:0)
正如James111所说。 Javascript不支持向输入参数添加类型。
如果您真的想要此功能,可以使用可编译为Javascript的语言。例如Typescript或Dart。
如果你想用纯Javascript编程你可以使用visual studio代码,因为它有一些nice commenting features用于标记输入参数