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权威指南 学习笔记之null和undefined
Sep 25 Javascript
关于删除时的提示处理(确定删除吗)
Nov 03 Javascript
百度判断手机终端并自动跳转js代码及使用实例
Jun 11 Javascript
jquery中append()与appendto()用法分析
Nov 14 Javascript
PHP守护进程实例
Mar 06 Javascript
简介JavaScript中的unshift()方法的使用
Jun 09 Javascript
jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解
Sep 27 Javascript
使用ajaxfileupload.js实现上传文件功能
Aug 13 Javascript
JS实现求数组起始项到终止项之和的方法【基于数组扩展函数】
Jun 13 Javascript
详解Vue中使用插槽(slot)、聚类插槽
Apr 12 Javascript
JavaScript实现留言板案例
Mar 17 Javascript
Vue-router 报错NavigationDuplicated的解决方法
Mar 31 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
libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢
2010/03/15 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
2013/06/06 PHP
thinkphp项目如何自定义微信分享描述内容
2017/02/20 PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
2019/06/13 PHP
JavaScript使用prototype定义对象类型
2007/02/07 Javascript
javascript 操作文件 实现方法小结
2009/07/02 Javascript
js传参数受特殊字符影响错误的解决方法
2013/10/21 Javascript
利用jQuery实现CheckBox全选/全不选/反选的简单代码
2016/05/31 Javascript
Bootstrap开发实战之响应式轮播图
2016/06/02 Javascript
Node.js DES加密的简单实现
2016/07/07 Javascript
js实现倒计时及时间对象
2016/11/15 Javascript
MUI  Scroll插件的使用详解
2017/04/13 Javascript
Vue.js实现价格计算器功能
2020/03/30 Javascript
微信小程序富文本渲染引擎的详解
2017/09/30 Javascript
Angular4的输入属性与输出属性实例详解
2017/11/29 Javascript
基于Vue-Cli 打包自动生成/抽离相关配置文件的实现方法
2018/12/09 Javascript
M2实现Nodejs项目自动部署的方法步骤
2019/05/05 NodeJs
解决vue项目中出现Invalid Host header的问题
2020/11/17 Javascript
python实现决策树
2017/12/21 Python
python绘制双Y轴折线图以及单Y轴双变量柱状图的实例
2019/07/08 Python
python设置随机种子实例讲解
2019/09/12 Python
python argparse传入布尔参数false不生效的解决
2020/04/20 Python
了解一下python内建模块collections
2020/09/07 Python
巧用CSS3的calc()宽度计算做响应模式布局的方法
2018/03/22 HTML / CSS
CSS3实现全景图特效示例代码
2018/03/26 HTML / CSS
美国最受欢迎的度假租赁网站:VRBO
2016/08/02 全球购物
英国最大的汽车配件在线商店:Euro Car Parts
2019/09/30 全球购物
小学生班会演讲稿
2014/01/09 职场文书
服装创业计划书范文
2014/02/05 职场文书
中学生的1000字检讨书
2014/10/11 职场文书
先进班组材料范文
2014/12/25 职场文书
毕业感言怎么写
2015/07/31 职场文书
总结Python连接CS2000的详细步骤
2021/06/23 Python
JavaWeb 入门:Hello Servlet
2021/07/16 Java/Android
apache ftpserver搭建ftp服务器
2022/05/20 Servers
MySQL常用慢查询分析工具详解
2022/08/14 MySQL