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 相关文章推荐
Three.js源码阅读笔记(Object3D类)
Dec 27 Javascript
javascript 系统文件夹文件操作及参数介绍
Jan 08 Javascript
jQuery实现鼠标经过提示信息的地图热点效果
Apr 26 Javascript
JS实现跟随鼠标的链接文字提示框效果
Aug 06 Javascript
浅析JavaScript中的变量复制、参数传递和作用域链
Jan 13 Javascript
js+canvas绘制五角星的方法
Jan 28 Javascript
Vuejs第十三篇之组件——杂项
Sep 09 Javascript
Vue.js原理分析之observer模块详解
Feb 17 Javascript
微信小程序button组件使用详解
Jan 31 Javascript
JavaScript中call和apply方法的区别实例分析
Aug 03 Javascript
微信小程序webview 脚手架使用详解
Jul 22 Javascript
JavaScript oncopy事件用法实例解析
May 13 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/10/23 PHP
基于PHP Web开发MVC框架的Smarty使用说明
2013/04/19 PHP
PHP jQuery表单,带验证具体实现方法
2014/02/15 PHP
Ajax请求PHP后台接口返回信息的实例代码
2018/08/21 PHP
Javascript Function对象扩展之延时执行函数
2010/07/06 Javascript
jQuery JSON的解析方式分享
2011/04/05 Javascript
改进版通过Json对象实现深复制的方法
2012/10/24 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
2014/05/12 Javascript
jquery、js调用iframe父窗口与子窗口元素的方法整理
2014/07/31 Javascript
JavaScript indexOf方法入门实例(计算指定字符在字符串中首次出现的位置)
2014/10/17 Javascript
js显示文本框提示文字的方法
2015/05/07 Javascript
js中window.open的参数及注意注意事项
2016/07/06 Javascript
js+div+css下拉导航菜单完整代码分享
2016/12/28 Javascript
element 结合vue 在表单验证时有值却提示错误的解决办法
2018/01/22 Javascript
vue项目部署到nginx/tomcat服务器的实现
2019/08/26 Javascript
JS实现音乐钢琴特效
2020/01/06 Javascript
微信小程序实现上传多张图片、删除图片
2020/07/29 Javascript
Python+OpenCV感兴趣区域ROI提取方法
2019/01/10 Python
详解Python3中ceil()函数用法
2019/02/19 Python
Mac PyCharm中的.gitignore 安装设置教程
2020/04/16 Python
Python爬虫小例子——爬取51job发布的工作职位
2020/07/10 Python
阿里健康官方海外旗舰店:阿里健康国际自营
2017/11/24 全球购物
总裁岗位职责
2013/12/04 职场文书
机关工会开展学习雷锋活动总结
2014/03/01 职场文书
私人会所最新创业计划书范文
2014/03/24 职场文书
助人为乐模范事迹材料
2014/06/02 职场文书
商品陈列协议书
2014/09/29 职场文书
单位接收函格式
2015/01/30 职场文书
农村环境卫生倡议书
2015/04/29 职场文书
中秋节祝酒词
2015/08/12 职场文书
2016大学生暑期三下乡心得体会
2016/01/23 职场文书
python 字典和列表嵌套用法详解
2021/06/29 Python
Java Kafka 消费积压监控的示例代码
2021/07/01 Java/Android
python3操作redis实现List列表实例
2021/08/04 Python
解决springboot druid数据库连接失败后一直重连的方法
2022/04/19 Java/Android
MySQL约束(创建表时的各种条件说明)
2022/06/21 MySQL