JS是否存在方法重载

简介: java里面是存在重载的,那么js中呢?这个问题面试的时候会经常遇到。但是可以肯定的说,js中是不存在重载的,但是我们可以通过其他的方式来模拟重载,我们可以通过argument方法来实现。argument是系统自带的一个方法,它是一个数组,并且用来存储函数传递的参数值。
java里面是存在重载的,那么js中呢?这个问题面试的时候会经常遇到。但是可以肯定的说,js中是不存在重载的,但是我们可以通过其他的方式来模拟重载,我们可以通过argument方法来实现。
argument是系统自带的一个方法,它是一个数组,并且用来存储函数传递的参数值。例如,我们定义一个function函数如下,并采用三种参数调用。
    function add1(a,b){
     alert(arguments.length); //把传递的参数保存到了argument的数组里面
     return a+b; } alert(add1(1,2)); alert(add1(1,2,3)); alert(add1(1,2,3,4));

 

  alert(arguments.length)的结果分别是2,3,4。

 

 

因此我们可以通过argument变量来模拟函数的重载。具体代码如下:

<html>
 <head>
  <title>HTML示例</title> <style type="text/css"> </style> </head> <body> <script type="text/javascript"> function add1(a,b){ alert(arguments.length); //把传递的参数保存到了argument的数组里面 switch(arguments.length) { case 2: return arguments[0]+arguments[1];break; case 3: return arguments[0]+arguments[1]+arguments[2];break; case 4: return arguments[0]+arguments[1]+arguments[2]+arguments[3];break; default: return 0; } } alert(add1(1,2)); alert(add1(1,2,3)); alert(add1(1,2,3,4)); </script> </body> </html> 

 

相关文章
|
7月前
js-继承
借用(构造函数)继承 / 原型继承 /组合继承 / ES6 的继承语法
|
1月前
|
JavaScript
|
3月前
|
JavaScript 前端开发
JS 常见的 6 种继承方式
JS 常见的 6 种继承方式
|
9月前
|
JavaScript
JS 构造函数在 new 时做了啥?
JS 构造函数在 new 时做了啥?
52 0
|
4月前
|
存储 设计模式 JavaScript
js使用构造函数的注意点?
js使用构造函数的注意点?
42 0
|
JavaScript Java
JS 的继承
每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针(constructor),而实例都包含一个原型对象的指针(constructor)并指向原想对象。 继承的本质就是复制,即重写原型对象,代之以一个新类型的实例 JS的继承给我独特的印象是, 在java中,继承是复制父类的一份给自己,即使自己把复制过来的东西弄坏了,也不会影响到父类那边的 而js中是通过原型继承,自己弄坏(修改)的,会直接影响到父类本身的东西
71 0
JS 的继承
|
算法 JavaScript 前端开发
JS中,函数原来有这么多种定义方法
最近在期末与暑假假期画饼之间不断奔波,很长时间没有记录了,今天在学习的时候看到了ES6的箭头函数,瞬间找到了写文的动力,那就来梳理一下在JavaScript中一共有几种定义函数的方式吧,最后再(微微)重点的介绍一下箭头函数✨ 过段时间,要加强算法学习了,这段时间也在力扣和牛客上找题做了一下,发现自己的算法真的烂,所以可能以后还会把算法题解写一写。(🍗+ 1)
|
JavaScript 前端开发 API
JS 继承的7种方法,你学会了吗?
🌈JS 继承的7种方法,你学会了吗?
111 0
JS 继承的7种方法,你学会了吗?
|
JavaScript
js的几种继承方式
js的几种继承方式