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 相关文章推荐
js 省地市级联选择
Feb 07 Javascript
基于jsTree的无限级树JSON数据的转换代码
Jul 27 Javascript
使用GruntJS构建Web程序之构建篇
Jun 04 Javascript
JavaScript实现页面跳转的几种常用方式
Nov 28 Javascript
纯JS打造网页中checkbox和radio的美化效果
Oct 13 Javascript
AngularJS入门教程之过滤器用法示例
Nov 02 Javascript
微信小程序学习(4)-系统配置app.json详解
Jan 12 Javascript
BootStrap 表单控件之单选按钮水平排列
May 23 Javascript
vue.js实现数据动态响应 Vue.set的简单应用
Jun 15 Javascript
jQuery实现frame之间互通的方法
Jun 26 jQuery
JS事件循环机制event loop宏任务微任务原理解析
Aug 04 Javascript
JavaScript实现弹出窗口效果
Dec 09 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
大师制作的中短波矿石收音机
2020/04/02 无线电
php实现MySQL数据库备份与还原类实例
2014/12/09 PHP
php通过递归方式复制目录和子目录的方法
2015/03/13 PHP
php单例模式实现方法分析
2015/03/14 PHP
两种php给图片加水印的实现代码
2020/04/18 PHP
PHP getName()函数讲解
2019/02/03 PHP
laravel配置Redis多个库的实现方法
2019/04/10 PHP
符合W3C网页标准的iframe标签的使用方法
2007/07/19 Javascript
JQuery 学习技巧总结
2010/05/21 Javascript
IE8对JS通过属性和数组遍历解析不一样的地方探讨
2013/05/06 Javascript
js获取url参数代码实例分享(JS操作URL)
2013/12/13 Javascript
jquery常用特效方法使用示例
2014/04/25 Javascript
一个简单的全屏图片上下打开显示网页效果示例
2014/07/08 Javascript
jQuery/CSS3图片特效插件整理推荐
2014/12/07 Javascript
JavaScript中Math.SQRT2属性的使用详解
2015/06/14 Javascript
jquery基础知识第一讲之认识jquery
2016/03/17 Javascript
一个简单不报错的summernote 图片上传案例
2016/07/11 Javascript
node.js文件上传重命名以及移动位置的示例代码
2018/01/19 Javascript
node puppeteer(headless chrome)实现网站登录
2018/05/09 Javascript
Vue实现滑动拼图验证码功能
2019/09/15 Javascript
js实现九宫格抽奖
2020/03/19 Javascript
Vue中正确使用Element-UI组件的方法实例
2020/10/13 Javascript
js实现限定范围拖拽的示例
2020/10/26 Javascript
Python3读取文件常用方法实例分析
2015/05/22 Python
python用模块zlib压缩与解压字符串和文件的方法
2016/12/16 Python
python3用PIL把图片转换为RGB图片的实例
2019/07/04 Python
python中open函数的基本用法示例
2019/09/07 Python
CSS3实现时间轴效果
2016/07/11 HTML / CSS
伦敦剧院门票:From The Box Office
2018/06/30 全球购物
预备党员转正思想汇报
2014/01/12 职场文书
中级会计职业生涯规划书
2014/03/01 职场文书
中国梦演讲稿开场白
2014/08/28 职场文书
销售督导岗位职责
2015/04/10 职场文书
2015年环境监察工作总结
2015/07/23 职场文书
社区结对共建协议书
2016/03/23 职场文书
vue使用echarts实现折线图
2022/03/21 Vue.js