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

chat

<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) { ……
<<上一篇
下一篇>>
chat