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验证电子邮箱的函数
Aug 22 Javascript
JavaScript实现的一个倒计时的类
Mar 12 Javascript
javascript使用shift+click实现选择和反选checkbox的方法
May 04 Javascript
javascript中判断json的方法总结
Aug 27 Javascript
JS+CSS实现的竖向简洁折叠菜单效果代码
Oct 22 Javascript
基于JavaScript实现图片点击弹出窗口而不是保存
Feb 06 Javascript
Javascript之Number对象介绍
Jun 07 Javascript
AngularJS入门教程之Select(选择框)详解
Jul 27 Javascript
详细讲解JavaScript中的this绑定
Oct 10 Javascript
jquery实现下拉菜单的手风琴效果
Jul 23 jQuery
jQuery中图片展示插件highslide.js的简单dom
Apr 22 jQuery
Vue 页面状态保持页面间数据传输的一种方法(推荐)
Nov 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
php下将多个数组合并成一个数组的方法与实例代码
2011/02/03 PHP
PHP连接和操作MySQL数据库基础教程
2014/09/29 PHP
PHP file_get_contents函数读取远程数据超时的解决方法
2015/05/13 PHP
使用PHP实现下载CSS文件中的图片
2015/12/06 PHP
asp.net网站开发中用jquery实现滚动浏览器滚动条加载数据(类似于腾讯微博)
2012/03/14 Javascript
js实现温度计时间样式代码分享
2015/08/21 Javascript
javascript中call apply 与 bind方法详解
2016/03/10 Javascript
js Canvas绘制圆形时钟教程
2017/02/06 Javascript
微信小程序组件之srcoll-view的详解
2017/10/19 Javascript
vue2 全局变量的设置方法
2018/03/09 Javascript
微信小程序实现长按删除图片的示例
2018/05/18 Javascript
详解Vue单元测试case写法
2018/05/24 Javascript
详解swipe使用及竖屏页面滚动方法
2018/06/28 Javascript
小程序登录/注册页面设计的实现代码
2019/05/24 Javascript
element form 校验数组每一项实例代码
2019/10/10 Javascript
Vue实现浏览器打印功能的代码
2020/04/17 Javascript
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
2020/11/04 Javascript
Python3实现连接SQLite数据库的方法
2014/08/23 Python
Pycharm学习教程(4) Python解释器的相关配置
2017/05/03 Python
python sorted函数原理解析及练习
2020/02/10 Python
Django-rest-framework中过滤器的定制实例
2020/04/01 Python
Python爬虫爬取博客实现可视化过程解析
2020/06/29 Python
CSS3线性渐变简单实现以及该属性在浏览器中的不同
2012/12/12 HTML / CSS
adidas澳大利亚官方网站:adidas Australia
2018/04/15 全球购物
澳洲女装时尚在线:Blue Bungalow
2018/05/05 全球购物
英语专业毕业生求职简历的自我评价
2013/10/24 职场文书
四年的个人工作自我评价
2013/12/10 职场文书
原材料检验岗位职责
2014/03/15 职场文书
群众路线教育实践活动民主生活会个人检查对照思想汇报
2014/10/04 职场文书
公务员党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
2014年档案管理员工作总结
2014/12/01 职场文书
免职通知
2015/04/23 职场文书
《玩出了名堂》教学反思
2016/02/17 职场文书
入党申请书格式
2019/06/20 职场文书
导游词范文之颐和园/重庆/云台山
2019/09/10 职场文书
Python利用机器学习算法实现垃圾邮件的识别
2021/06/28 Python