![]() |
1
5
让我们付诸行动,看看结果:
正如我们所看到的 功能是赢家。为什么?因为当我们在第一次声明后再次编写它时 覆盖 真的。 关于第二个问题:
如我们所见,它仍然执行第二个问题。那是因为 javascript不是多态语言 也就是说,它不能像java那样有两个名称相同但输入声明不同的函数。我们只是做了与上面相同的事情:我们覆盖函数A。 PS:如果javascript是多态语言(事实并非如此),那么第二次运行将返回错误,因为我们还没有声明接收0个变量作为输入的函数a的版本。 |
![]() |
2
2
在这两种情况下,当您重新定义函数定义时,将调用第二个函数。 此外,javascript中没有函数重载,在第二种情况下,更改函数签名(即它所带的参数)将重新定义相同的A函数(定义为第一个)。 |
![]() |
3
1
当解析器进入脚本时,它会搜索
然后解析器继续搜索并找到另一个函数声明。同样的情况也发生了:
正如你所见,
|
![]() |
4
0
在这两种情况下,都会调用第二个函数,因为它会覆盖全局变量
它类似于书写:
|