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 去字符串空格终极版(支持utf8)
Nov 14 Javascript
juqery 学习之四 筛选查找
Nov 30 Javascript
javascript学习笔记(十六) 系统对话框(alert、confirm、prompt)
Jun 20 Javascript
可自定义速度的js图片无缝滚动示例分享
Jan 20 Javascript
wap图片滚动特效无css3元素纯js脚本编写
Aug 22 Javascript
gulp-htmlmin压缩html的gulp插件实例代码
Jun 06 Javascript
JQuery的attr 与 val区别
Jun 12 Javascript
JavaScript中this的用法实例分析
Dec 19 Javascript
JSON.stringify()方法讲解
Jan 31 Javascript
javascript实现计算器功能
Mar 30 Javascript
vue项目中企业微信使用js-sdk时config和agentConfig配置方式详解
Dec 15 Vue.js
vue集成一个支持图片缩放拖拽的富文本编辑器
Jan 29 Vue.js
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最常用的2种设计模式工厂模式和单例模式介绍
2012/08/14 PHP
PHP 读取大文件的X行到Y行内容的实现代码
2013/06/24 PHP
分享php多功能图片处理类
2016/05/15 PHP
php 截取utf-8格式的字符串实例代码
2016/10/30 PHP
修改jQuery Validation里默认的验证方法
2012/02/14 Javascript
基于jQuery的判断iPad、iPhone、Android是横屏还是竖屏的代码
2014/05/11 Javascript
node.js不得不说的12点内容
2014/07/14 Javascript
JavaScript window.location对象
2014/11/14 Javascript
微信小程序 setData使用方法及常用错误解决办法
2017/05/11 Javascript
微信JSSDK调用微信扫一扫功能的方法
2017/07/25 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧不动,右侧滑动)
2019/01/23 Javascript
详释JavaScript执行环境与执行栈
2019/04/02 Javascript
js实现动态时钟
2020/03/12 Javascript
js如何验证密码强度
2020/03/18 Javascript
Vue中el-form标签中的自定义el-select下拉框标签功能
2020/04/20 Javascript
基于原生JS封装的Modal对话框插件的示例代码
2020/09/09 Javascript
js实现点击烟花特效
2020/10/14 Javascript
[02:36]DOTA2英雄基础教程 一击致命幻影刺客
2013/12/06 DOTA
[08:47]DOTA2每周TOP10 精彩击杀集锦vol.6
2014/06/25 DOTA
[03:36]DOTA2完美大师赛coL战队趣味视频——我演你猜
2017/11/23 DOTA
Python使用Windows API创建窗口示例【基于win32gui模块】
2018/05/09 Python
PyQt QCombobox设置行高的方法
2019/06/20 Python
Python中一个for循环循环多个变量的示例
2019/07/16 Python
python实现音乐播放器 python实现花框音乐盒子
2020/02/25 Python
Python bytes string相互转换过程解析
2020/03/05 Python
Python如何定义接口和抽象类
2020/07/28 Python
详解Open Folder as PyCharm Project怎么添加的方法
2020/12/29 Python
美国肌肉和力量商店:Muscle & Strength
2019/06/22 全球购物
请写出一段Python代码实现删除一个list里面的重复元素
2015/12/29 面试题
大学生励志演讲稿
2014/04/25 职场文书
岗位职责说明书
2014/05/07 职场文书
单位实习鉴定评语
2015/01/04 职场文书
2015年出纳个人工作总结
2015/04/02 职场文书
党支部审查意见
2015/06/02 职场文书
电影雷锋观后感
2015/06/10 职场文书
共青团优秀团员申请书(范文)
2019/08/15 职场文书