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 相关文章推荐
GWT中复制到剪贴板 js+flash实现复制 兼容性比较好
Mar 07 Javascript
基于jquery自己写tab滑动门(通用版)
Oct 30 Javascript
javascript每日必学之循环
Feb 19 Javascript
jQuery实现的倒计时效果实例小结
Apr 16 Javascript
Extjs 点击复选框在表格中增加相关信息行
Jul 12 Javascript
jQuery基于BootStrap样式实现无限极地区联动
Aug 26 Javascript
canvas的神奇用法
Feb 03 Javascript
JS+Ajax实现百度智能搜索框
Aug 04 Javascript
vue init webpack 建vue项目报错的解决方法
Sep 29 Javascript
django使用channels2.x实现实时通讯
Nov 28 Javascript
JS实现动态倒计时功能(天数、时、分、秒)
Dec 12 Javascript
vue+koa2搭建mock数据环境的详细教程
May 18 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 var_export与var_dump 输出的不同
2013/08/09 PHP
php自定义加密与解密程序实例
2014/12/31 PHP
四个常见html网页乱码问题及解决办法
2015/09/08 PHP
使用PHPStorm+XDebug搭建单步调试环境
2017/11/19 PHP
JQuery 技巧和窍门整理(8个)
2010/04/22 Javascript
很棒的学习jQuery的12个网站推荐
2011/04/28 Javascript
用js读、写、删除Cookie代码分享及详细注释说明
2014/06/05 Javascript
JavaScript返回0-1之间随机数的方法
2015/04/06 Javascript
asp.net中oracle 存储过程(图文)
2015/08/12 Javascript
Jquery Easyui表单组件Form使用详解(30)
2016/12/19 Javascript
Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结
2019/05/28 Javascript
基于layui table返回的值的多级嵌套的解决方法
2019/09/19 Javascript
微信小程序如何通过用户授权获取手机号(getPhoneNumber)
2020/01/21 Javascript
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
2020/05/29 jQuery
python将每个单词按空格分开并保存到文件中
2018/03/19 Python
Python实现的维尼吉亚密码算法示例
2018/04/12 Python
Python实现计算圆周率π的值到任意位的方法示例
2018/05/08 Python
python实现画一颗树和一片森林
2018/06/25 Python
对Pyhon实现静态变量全局变量的方法详解
2019/01/11 Python
Python3的高阶函数map,reduce,filter的示例详解
2019/07/23 Python
Python TCP通信客户端服务端代码实例
2019/11/21 Python
柏林通行证:Berlin Pass
2018/04/11 全球购物
美国主要的特色咖啡和茶公司:Peet’s Coffee
2020/02/14 全球购物
你在项目中用到了xml技术的哪些方面?如何实现的?
2014/01/26 面试题
中职应届生会计求职信
2013/10/23 职场文书
高一自我鉴定
2013/12/17 职场文书
教师绩效考核方案
2014/01/21 职场文书
网络技术专业推荐信
2014/02/20 职场文书
生日寄语大全
2014/04/08 职场文书
厨师个人自我鉴定范文
2014/04/19 职场文书
环保倡议书400字
2014/05/15 职场文书
会计求职自荐信
2014/06/20 职场文书
树转促学习心得体会
2014/09/10 职场文书
工作批评与自我批评范文
2014/10/16 职场文书
社区服务理念口号
2015/12/25 职场文书
JS前端使用canvas实现扩展物体类和事件派发
2022/08/05 Javascript