[TOC]
## 重载:根据传入的参数不同,动态决定调用那种方法
JS不支持重载的原因
JS下所有函数都属于window的方法,如果写两个相同的函数会被覆盖
问题描述:调用函数无法识别该选择哪一个函数进行操作
定义函数如下
~~~
function go(a){
console.log(a);
}
function go(a,b){
console.log(a,b);
}
~~~
调用函数如下
~~~
go(1);
~~~
输出
~~~
1 undefined
默认按传两个参数的函数来操作数值,无法实现自动重载
~~~
解决:采用 if else 判断
Javascript函数的独特之处在于你可以给函数传递任意参数,不造成错误,因为参数实际是保存在arguments这个类数组对象中。
~~~
function go(){
if(arguments.length == 1){
console.log(arguments[0])
}
else if(arguments.length == 2){
console.log(arguments[0]+arguments[1])
}
}
go(1);
go(2,5);
~~~
- 面试题
- 自我介绍
- 问答
- HTML
- 1.@import与link的区别
- CSS
- 1.display: none; 与visibiliy: hidden; 的区别
- 三角形
- margin-top
- 移动端适配问题
- JavaScript
- JavaScript原型和原型链
- 什么是promise
- call、apply、bind区别
- 用函数将字符串转化为驼峰命名
- 数组操作
- 1.筛选
- 2.排序
- 3.反转
- 4.去重
- 字符串方法
- 5.二叉树
- 6.克隆数组
- 重载
- (待完善)JavaScript事件
- dom事件流
- 四则运算符
- cookie,LocalStorage,sessionStorage
- 浅拷贝和深拷贝
- 对象
- 浏览器
- web性能优化
- 定时器
- 回调地狱
- 遍历的几种方式
- this指向
- HTTP
- 输入ur发生了什么
- ajax
- 跨域
- jquery跨域
- axios
- vue
- (待完善)缓存
- bootstarp
- es6
- 01解构赋值
- (未完成)class