JavaScript中的函数重载深入理解


Posted in Javascript onAugust 04, 2014

在JavaScript中有一种特殊的数据类型---Function类型,JavaScript的每个函数都是Function类型的实例。由于函数是对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定。

<pre name="code" class="html">function sum(num1,num2) 
{ 
return num1 +num2; 
} 

alert(sum(10,10)); //20 
var other = sum; 
alert(other(10,10)); //20 
sum = null; 
alert(other(10,10)); //20

将函数名作为指向函数的指针,有助于理解为什么ECMAScript中没有函数重载的概念

function sum(num1) 
{ 
return num1 +100; 
} 
function sum(num1) 
{ 
return num1 +200; 
} 
alert(sum(200)); //400

虽然声明了两个同名函数,但是后面的函数覆盖了前面的函数,以上等价于下面的代码

function sum(num1) 
{ 
return num1 +100; 
} 
sum = function(num1) 
{ 
return num1 +200; 
} 
alert(sum(200)); //400

在创建第二个函数时,实际上覆盖了引用的第一个函数变量sum

Javascript 相关文章推荐
使用jQuery设置disabled属性与移除disabled属性
Aug 21 Javascript
基于jQuery实现简单的折叠菜单效果
Nov 23 Javascript
jquery实现定时自动轮播特效
Dec 10 Javascript
使用vue编写一个点击数字计时小游戏
Aug 31 Javascript
Angular中$state.go页面跳转并传递参数的方法
May 09 Javascript
详解如何在React组件“外”使用父组件的Props
Jan 12 Javascript
JS实现获取进今年第几天是周几的方法分析
Jun 27 Javascript
spring+angular实现导出excel的实现代码
Feb 27 Javascript
小程序实现自定义导航栏适配完美版
Apr 02 Javascript
前后端常见的几种鉴权方式(小结)
Aug 04 Javascript
Layer+Echarts构建弹出层折线图的方法
Sep 25 Javascript
Json实现传值到后台代码实例
Jun 30 Javascript
window.print打印指定div指定网页指定区域的方法
Aug 04 #Javascript
jQuery 删除或是清空某个HTML元素示例
Aug 04 #Javascript
js实现正方形颜色从下往上升的效果
Aug 04 #Javascript
与Math.pow 相反的函数使用介绍
Aug 04 #Javascript
简单易用的倒计时js代码
Aug 04 #Javascript
javascript中with()方法的语法格式及使用
Aug 04 #Javascript
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
Aug 04 #Javascript
You might like
PHP中的cookie
2006/11/26 PHP
两个开源的Php输出Excel文件类
2010/02/08 PHP
PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)
2012/08/31 PHP
php代码中使用换行及(\n或\r\n和br)的应用
2013/02/02 PHP
PHP实现对二维数组某个键排序的方法
2016/09/14 PHP
PHP5.6新增加的可变函数参数用法分析
2017/08/25 PHP
javaScript Array(数组)相关方法简述
2009/07/25 Javascript
使用iframe window的scroll方法控制iframe页面滚动
2014/03/05 Javascript
深入理解JavaScript系列(18):面向对象编程之ECMAScript实现
2015/03/05 Javascript
详解JavaScript的Polymer框架中的通知交互
2015/07/29 Javascript
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
2016/05/10 Javascript
手机图片预览插件photoswipe.js使用总结
2016/08/25 Javascript
微信小程序 websocket 实现SpringMVC+Spring+Mybatis
2017/08/04 Javascript
Vue2.0基于vue-cli+webpack父子组件通信(实例讲解)
2017/09/14 Javascript
angular5 httpclient的示例实战
2018/03/12 Javascript
Bootstrap4 gulp 配置详解
2019/01/06 Javascript
JS自定义右键菜单实现代码解析
2020/07/16 Javascript
python负载均衡的简单实现方法
2018/02/04 Python
解决Tensorflow使用pip安装后没有model目录的问题
2018/06/13 Python
Flask框架工厂函数用法实例分析
2019/05/25 Python
python实现静态web服务器
2019/09/03 Python
python安装scipy的步骤解析
2019/09/28 Python
浅谈Pytorch中的自动求导函数backward()所需参数的含义
2020/02/29 Python
Python Tornado之跨域请求与Options请求方式
2020/03/28 Python
施华洛世奇水晶荷兰官方网站:SWAROVSKI荷兰
2017/05/12 全球购物
西班牙家用电器和电子产品购物网站:Mi Electro
2019/02/25 全球购物
铭万公司.net面试题笔试题
2014/07/20 面试题
会计专业毕业生自我鉴定
2013/10/29 职场文书
校园招聘策划书
2014/01/09 职场文书
岳麓书院导游词
2015/02/03 职场文书
2015年学校安全工作总结
2015/04/22 职场文书
唱歌比赛拉拉队口号
2015/12/25 职场文书
教你快速开启Apache SkyWalking的自监控
2021/04/25 Servers
Python源码解析之List
2021/05/21 Python
python字典的元素访问实例详解
2021/07/21 Python
python中的getter与setter你了解吗
2022/03/24 Python