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弹簧振子超简洁版 完全符合能量守恒,胡克定理
Oct 25 Javascript
jquery 1.4.2发布!主要是性能与API
Feb 25 Javascript
jquery动态改变onclick属性导致失效的问题解决方法
Dec 04 Javascript
javascript检测flash插件是否被禁用的方法
Jan 14 Javascript
AngularJs $parse、$eval和$observe、$watch详解
Sep 21 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
Dec 14 Javascript
Webpack之tree-starking 解析
Sep 11 Javascript
基于JavaScript实现一个简单的Vue
Sep 26 Javascript
小程序实现列表删除功能
Oct 30 Javascript
js实现简单的日历显示效果函数示例
Nov 25 Javascript
node.js中npm包管理工具用法分析
Feb 14 Javascript
解决ant design vue 表格a-table二次封装,slots渲染的问题
Oct 28 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
require(),include(),require_once()和include_once()的异同
2007/01/02 PHP
php识别翻转iphone拍摄的颠倒图片
2018/05/17 PHP
Laravel框架实现多数据库连接操作详解
2019/07/12 PHP
如何在一个页面显示多个百度地图
2013/04/07 Javascript
Bootstrap的class样式小结
2016/12/01 Javascript
JS小数转换为整数的方法分析
2017/01/07 Javascript
基于JS实现二维码图片固定在右下角某处并跟随滚动条滚动
2017/02/08 Javascript
JavaScript实现公历转农历功能示例
2017/02/13 Javascript
JS打开摄像头并截图上传示例
2017/02/18 Javascript
angularJS开发注意事项
2018/05/26 Javascript
vue.js通过路由实现经典的三栏布局实例代码
2018/07/08 Javascript
详解基于iview-ui的导航栏路径(面包屑)配置
2019/02/22 Javascript
JS实现获取数组中最大值或最小值功能示例
2019/03/02 Javascript
jQuery中DOM操作原则实例分析
2019/08/01 jQuery
原生js实现的金山打字小游戏(实例代码详解)
2020/03/16 Javascript
typescript配置alias的详细步骤
2020/08/12 Javascript
python中bisect模块用法实例
2014/09/25 Python
python实现简单的TCP代理服务器
2014/10/08 Python
Python中为什么要用self探讨
2015/04/14 Python
Python 中Pickle库的使用详解
2018/02/24 Python
Python实现自定义顺序、排列写入数据到Excel的方法
2018/04/23 Python
对DataFrame数据中的重复行,利用groupby累加合并的方法详解
2019/01/30 Python
Python利用matplotlib绘制约数个数统计图示例
2019/11/26 Python
Python爬取365好书中小说代码实例
2020/02/28 Python
在pytorch中动态调整优化器的学习率方式
2020/06/24 Python
python爬虫今日热榜数据到txt文件的源码
2021/02/23 Python
纽约手袋品牌:KARA
2018/03/18 全球购物
美国战术品牌:5.11 Tactical
2019/05/01 全球购物
物流创业计划书
2014/02/01 职场文书
计算机毕业大学生求职信
2014/06/26 职场文书
人力资源管理毕业生自荐信
2014/06/26 职场文书
大学运动会加油稿
2015/07/22 职场文书
会计专业2019暑假实习报告
2019/06/21 职场文书
创业计划书之烤红薯
2019/09/26 职场文书
《卧薪尝胆》读后感3篇
2019/12/26 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers