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 相关文章推荐
Javascript中的数学函数集合
May 08 Javascript
将中国标准时间转换成标准格式的代码
Mar 20 Javascript
JavaScript统计网站访问次数的实现代码
Nov 18 Javascript
js删除Array数组中指定元素的两种方法
Aug 03 Javascript
详解AngularJS如何实现跨域请求
Aug 22 Javascript
js实现表单提交后不重新刷新当前页面
Nov 30 Javascript
微信小程序录音与播放录音功能
Dec 25 Javascript
Vue 2.5.2下axios + express 本地请求404的解决方法
Feb 21 Javascript
Webpack中雪碧图插件使用详解
May 25 Javascript
vue2.x 通过后端接口代理,获取qq音乐api的数据示例
Oct 30 Javascript
AngularJS动态生成select下拉框的方法实例
Nov 17 Javascript
Vue性能优化的方法
Jul 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 地区分类排序算法
2013/07/01 PHP
PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
2014/12/25 PHP
php实现XML和数组的相互转化功能示例
2017/02/08 PHP
Thinkphp集成抖音SDK的实现方法
2020/04/28 PHP
激活 ActiveX 控件
2006/10/09 Javascript
检测一个函数是否是JavaScript原生函数的小技巧
2015/03/13 Javascript
javascript+canvas实现刮刮卡抽奖效果
2015/07/29 Javascript
第三篇Bootstrap网格基础
2016/06/21 Javascript
jquery注册文本框获取焦点清空,失去焦点赋值的简单实例
2016/09/08 Javascript
Vue中使用canvas方法总结
2019/02/12 Javascript
Vue内部渲染视图的方法
2019/09/02 Javascript
JavaScript 实现同时选取多个时间段的方法
2019/10/17 Javascript
微信小程序实现多选框全选与反全选及购物车中删除选中的商品功能
2019/12/17 Javascript
JS数组reduce()方法原理及使用技巧解析
2020/07/14 Javascript
JS JQuery获取data-*属性值方法解析
2020/09/01 jQuery
vue 使用微信jssdk,调用微信相册上传图片功能
2020/11/13 Javascript
Go语言基于Socket编写服务器端与客户端通信的实例
2016/02/19 Python
Python无损音乐搜索引擎实现代码
2018/02/02 Python
Python实现按逗号分隔列表的方法
2018/10/23 Python
详解Python logging调用Logger.info方法的处理过程
2019/02/12 Python
python 根据字典的键值进行排序的方法
2019/07/24 Python
PyCharm中代码字体大小调整方法
2019/07/29 Python
Python绘制K线图之可视化神器pyecharts的使用
2021/03/02 Python
使用HTML5 Canvas API控制字体的显示与渲染的方法
2016/03/24 HTML / CSS
Canvas 像素处理之改变透明度的实现代码
2019/01/08 HTML / CSS
彪马美国官网:PUMA美国
2017/03/09 全球购物
婚鞋、新娘鞋、礼服鞋、童鞋:Nina Shoes
2019/09/04 全球购物
linux比较文件内容的命令是什么
2013/03/04 面试题
热能动力工程毕业生自荐信
2013/11/07 职场文书
秘书英文求职信范文
2014/01/31 职场文书
环境科学专业教师求职信
2014/07/12 职场文书
乡镇党员干部四风对照检查材料思想汇报
2014/09/27 职场文书
办理收楼委托书范本
2014/10/09 职场文书
个人向公司借款协议书
2014/10/09 职场文书
学习雷锋精神活动总结
2015/02/06 职场文书
opencv 分类白天与夜景视频的方法
2021/06/05 Python