JavaScript中的函数重载深入理解

 更新时间:2014年08月04日 17:13:22   投稿:whsnow  
将函数名作为指向函数的指针,有助于理解为什么ECMAScript中没有函数重载的概念,需要的朋友可以参考下

在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

相关文章

  • TypeScript快速上手语法及结合vue3用法详解

    TypeScript快速上手语法及结合vue3用法详解

    TypeScript是一种由微软开发的自由开源的编程语言,主要提供了类型系统和对ES6的支持,下面这篇文章主要给大家介绍了关于TypeScript快速上手语法及结合vue3用法的相关资料,需要的朋友可以参考下
    2024-02-02
  • 慎用 somefunction.prototype 分析

    慎用 somefunction.prototype 分析

    在写 JavaScript 脚本的时候,为了创建一个类,如果不使用框架,一般情况我们都会使用 prototype 来给要创建的类增加公有方法
    2009-06-06
  • 前端使用JavaScript结合CSS实现3D旋转跟随鼠标变化

    前端使用JavaScript结合CSS实现3D旋转跟随鼠标变化

    这篇文章主要介绍了前端使用JavaScript结合CSS实现3D旋转跟随鼠标变化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-01-01
  • 给easyui的datebox控件添加清空按钮的实现方法

    给easyui的datebox控件添加清空按钮的实现方法

    下面小编就为大家带来一篇给easyui的datebox控件添加清空按钮的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • 关于JavaScript的内存与性能问题解决汇总

    关于JavaScript的内存与性能问题解决汇总

    这篇文章主要介绍了关于JavaScript的内存与性能问题解决汇总,在JavaScript中,页面中事件处理程序的数量与页面整体性能直接相关,原因有很多,下面就一起来看看具体的总结吧
    2022-04-04
  • 学习掌握JavaScript中this的使用技巧

    学习掌握JavaScript中this的使用技巧

    这篇文章主要帮助大家学习并熟练掌握JavaScript中this的使用技巧,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • js实现继承的方法及优缺点总结

    js实现继承的方法及优缺点总结

    这篇文章主要给大家介绍了关于js实现继承的方法及优缺点的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用JavaScript具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • ES6中非常实用的新特性介绍

    ES6中非常实用的新特性介绍

    ECMAScript 6离我们越来越近了,作为它最重要的方言,Javascript也即将迎来语法上的重大变革,InfoQ特开设“深入浅出ES6”专栏,来看一下ES6将给我们带来哪些新内容
    2016-03-03
  • 高性能JavaScript循环语句和条件语句

    高性能JavaScript循环语句和条件语句

    这篇文章主要为大家介绍了高性能JavaScript循环语句和条件语句,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • 原生js做的手风琴效果的导航菜单

    原生js做的手风琴效果的导航菜单

    手风琴效果的导航想必大家都有见到过吧,实现的方法也有很多,在本文为大家介绍下使用原生js简单实现下,感兴趣的朋友不要错过
    2013-11-11

最新评论