JavaScript没有重载的概念,后面的函数会覆盖前面定义的函数

<script>
var m= 1, j = k = 0;
function add(n) {
return n = n+1;
}
y = add(m);
function add(n) {
return n = n + 3;
}
z = add(m);
</script>
js里面没有函数重载的概念,在其他语言中(如java)java中,可以存在同名函数,
只要传入的参数数量或者类型不同即可。在js中,定义了两个同名函数后,
后面的函数会覆盖前面定义的函数。结合这道题来说,由于函数声明提升,
所以函数声明会提前,由于存在同名函数,后面的add函数将覆盖第一个add函数,
所以两次调用add()返回的值是相同的。也就是y,z都为4.
版权声明:
作者:东明兄
链接:https://blog.crazyming.com/note/240/
来源:CrazyMing
文章版权归作者所有,未经允许请勿转载。
THE END
二维码
海报
JavaScript没有重载的概念,后面的函数会覆盖前面定义的函数
<script>
var m= 1, j = k = 0;
function add(n) {
return n = n+1;
}
y = add(m);
function add(n) {
……


共有 0 条评论