我不明白这一点,因为java是我的第一种编程语言。
在java中,括号内的变量应该声明为
例如
class Obstacle:
def __init__(self, type):
self.type = 'obstacle'
def __str__(self):
return "obstacle"
class Wall(Obstacle):
def __init__(self, origin, end):
self.type = 'wall'
self.origin = origin
self.end = end
# etc.... (i.e. there are more things included in here which the
# that the barrier also needs to have (like coordinate vectors etc.)
class Barrier(Wall):
def __str__(self):
return "Barrier obstacle"
但是在javascript中
public int checkUserName(int minLength){
//some codes
}
显示意外的令牌变量错误
我知道Java和JavaScript是两种不同的语言,但我只是想知道为什么它不允许在JavaScript中使用。我知道不允许我只想知道原因。
我之所以这样问,是因为我的JavaScript书籍没有解释为什么JavaScript不允许这样做。它只是说你应该写,但不是为什么。
答案 0 :(得分:2)
当我开始学习第二语言时,我有很多类似的问题,但是当你学习第三语言时,你只是处理它:)在每两种语言中你会发现类似的东西和不同的东西
您不必在此声明minLength
function checkUsername(var minLength) {
//some codes
}
试
function checkUsername(minLength) {
//some codes
}
你可能对TypeScript感兴趣,毕竟它是javascript,但看起来非常类似于java。例如:
public checkUserName(minLength: int ): int {
//some codes
}
答案 1 :(得分:1)
在评论中,您已澄清:
我知道[它不被允许]但我只是想知道为什么不允许
因为直到ES2015,它才会完全多余而毫无意义;只有minLength
有足够的声明,因为JavaScript的变量和参数没有输入。此外,var
会产生误导,因为minLength
不是变量,它是参数。 (从功能上讲,它们与函数代码的关系几乎完全相同,除了参数的初始值来自函数外部的明显差异;但它们不是&# 39; t 同样的事情。)
在ES2015及以上版本中,有一个论点允许选项const
表示该函数永远不会更改参数的值,但我还没有看到有关该进展的任何提案(目前为止)。