2017-08-07 51 views
-6

我不明白这是因为java是我的第一个编程语言。为什么我们不能在JavaScript中用函数括号声明局部变量?

在java中,括号内的变量应该声明

例如

public int checkUserName(int minLength){ 
    //some codes 
} 

但在JavaScript

function checkUsername(var minLength){ 
//some codes 
} 

显示出出人意料的令牌VAR误差

我知道的Java和JavaScript是两种不同的语言,但我只是想知道为什么它不允许在JavaScript中使用。我知道这是不允许的,我只是想知道为什么。

我问这个,因为我的JavaScript的书没有解释我为什么的JavaScript不允许。它只是说你应该写,但不是为什么。

+1

在JavaScript中,你不必添加参数必须是 – Jer

+3

为什么值的类型?因为不同的语言使用不同的语法你所要求的是有据可查的 – charlietfl

+0

*“问为什么这么差?”*不。但它确实需要强调,所以人们不会误读它。 –

回答

1

在评论你澄清:

我知道[不允许],但我只是想知道为什么没有允许

因为直到ES2015,这本来是完全多余和毫无意义的;只有minLength有足够的声明,因为JavaScript的变量和参数没有输入。此外,var本来是误导,因为minLength不是一个变量,它是一个参数。 (在功能上,他们非常近,只要函数的代码比明显的区别,一个参数的初始值来自函数外其他有关同样的事情,但他们同样的事情。)

在ES2015及以上,有允许可选const,表明参数的值永远不能凭借它的功能被改变的说法,但我还没有看到任何建议,先进的(到目前为止)。

2

当我开始学习我有很多类似的问题的第二语言,但是,当你学会第三等你只是处理它:)在每一个两种语言,你会发现类似的东西不同的东西

你没有申报minLength这里

function checkUsername(var minLength) { 
    //some codes 
} 

尝试

function checkUsername(minLength) { 
    //some codes 
} 

您可能会感兴趣的打字稿,它是用java毕竟脚本,但看起来很像Java。例如:

public checkUserName(minLength: int): int { 
    //some codes 
} 
+0

是啊..我知道,但我只是想知道为什么没有允许 – ProgramLover

+2

@ProgramLover,因为它是不允许的。这很简单。这是语法规则。 –

+0

Javascript不能像Java一样工作。名称是相似的,但这并不意味着实际的语言彼此接近 – DrunkDevKek

相关问题