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 实现Tab效果 思路是js思路
Mar 02 Javascript
Jquery 表格合并的问题分享
Sep 17 Javascript
javascript获取隐藏dom的宽高 具体实现
Jul 14 Javascript
jquery操作复选框checkbox的方法汇总
Feb 05 Javascript
jQuery实现类似老虎机滚动抽奖效果
Aug 06 Javascript
bootstrap table实例详解
Jan 06 Javascript
详解angularJs中自定义directive的数据交互
Jan 13 Javascript
vue2 如何实现div contenteditable=“true”(类似于v-model)的效果
Feb 08 Javascript
Angular实现购物车计算示例代码
Feb 21 Javascript
一篇文章让你彻底弄懂JS的事件冒泡和事件捕获
Aug 14 Javascript
JavaScript实现简单轮播图效果
Dec 01 Javascript
js禁止查看源文件屏蔽Ctrl+u/s、F12、右键等兼容IE火狐chrome
Oct 01 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
一个ubbcode的函数,速度很快.
2006/10/09 PHP
linux下编译安装memcached服务
2014/08/03 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
2017/06/12 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
PHP封装的简单连接MongoDB类示例
2019/02/13 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
goto语法在PHP中的使用教程
2020/09/17 PHP
不错的JS中变量相关的细节分析
2007/08/13 Javascript
用RadioButten或CheckBox实现div的显示与隐藏
2013/09/21 Javascript
javascript在myeclipse中报错的解决方法
2013/10/29 Javascript
js函数在frame中的相互调用详解
2014/03/03 Javascript
JsRender实用入门教程
2014/10/31 Javascript
JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集
2015/09/28 Javascript
js贪吃蛇游戏实现思路和源码
2016/04/14 Javascript
JavaScript中闭包的写法和作用详解
2016/06/29 Javascript
利用JS实现文字的聚合动画效果
2017/01/22 Javascript
Jil,高效的json序列化和反序列化库
2017/02/15 Javascript
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
2017/06/09 jQuery
Vue中使用create-keyframe-animation与动画钩子完成复杂动画
2019/04/09 Javascript
解决layer弹出层自适应页面大小的问题
2019/09/16 Javascript
中级前端工程师必须要掌握的27个JavaScript 技巧(干货总结)
2019/09/23 Javascript
JavaScript快速调试的两个技巧
2020/11/04 Javascript
python中关于时间和日期函数的常用计算总结(time和datatime)
2013/03/08 Python
python实现数据导出到excel的示例--普通格式
2018/05/03 Python
符合语言习惯的 Python 优雅编程技巧【推荐】
2018/09/25 Python
基于Python在MacOS上安装robotframework-ride
2018/12/28 Python
python3+selenium实现126邮箱登陆并发送邮件功能
2019/01/23 Python
Python 3 判断2个字典相同
2019/08/06 Python
Python如何调用外部系统命令
2019/08/07 Python
django将网络中的图片,保存成model中的ImageField的实例
2019/08/07 Python
简单了解Java Netty Reactor三种线程模型
2020/04/26 Python
使用HTML5 Geolocation实现一个距离追踪器
2018/04/09 HTML / CSS
英国领先的独立时装店:Van Mildert
2019/10/28 全球购物
体育节口号
2014/06/19 职场文书
导盲犬小Q观后感
2015/06/11 职场文书
创业计划书之健康营养产业
2019/10/15 职场文书