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

相关文章

  • JavaScript中的DSL元编程介绍

    JavaScript中的DSL元编程介绍

    这篇文章主要介绍了JavaScript中的DSL元编程介绍,本文讲解了JavaScript元编程、JavaScript eval、JavaScript new Function()等内容,需要的朋友可以参考下
    2015-03-03
  • JavaScript引用类型之基本包装类型实例分析【Boolean、Number和String】

    JavaScript引用类型之基本包装类型实例分析【Boolean、Number和String】

    这篇文章主要介绍了JavaScript引用类型之基本包装类型,结合实例形式分析了javascript中Boolean、Number和String三种基本包装类型的基本用法与相关操作注意事项,需要的朋友可以参考下
    2018-08-08
  • JavaScript实现瀑布流图片效果

    JavaScript实现瀑布流图片效果

    这篇文章主要为大家详细介绍了JavaScript实现瀑布流图片效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Cropper.js入门之在HTML中实现交互式图像裁剪

    Cropper.js入门之在HTML中实现交互式图像裁剪

    这篇文章主要为大家介绍了Cropper.js入门之在HTML中实现交互式图像裁剪示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • 纯js实现隔行变色效果

    纯js实现隔行变色效果

    这篇文章主要为大家详细介绍了纯js实现隔行变色效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • 小程序wx.getUserProfile接口的具体使用

    小程序wx.getUserProfile接口的具体使用

    最近微信小程序对于审核小程序提出了带有wx.login、wx.getUserInfo接口的调整,并提出了一个新的接口供开发者调用,本文就详细的介绍一下如何使用,感兴趣的可以了解一下
    2021-06-06
  • JavaScript实现拼图式滑块验证功能

    JavaScript实现拼图式滑块验证功能

    滑块验证码是在网站、APP等应用中常见的一种验证方式,通过按照一定规则滑动滑块到指定位置完成验证,才可以进行下一步操作,本文给大家分享基于JavaScript实现拼图式滑块验证功能,感兴趣的朋友一起看看吧
    2022-06-06
  • 微信小程序实现导航栏和内容上下联动功能代码

    微信小程序实现导航栏和内容上下联动功能代码

    这篇文章主要介绍了微信小程序实现导航栏和内容上下联动功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • 使用JavaScript实现二值化图像

    使用JavaScript实现二值化图像

    这篇文章主要为大家详细介绍了使用JavaScript将图像转换为黑白二值图的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-01-01
  • 详解如何在webpack中做预渲染降低首屏空白时间

    详解如何在webpack中做预渲染降低首屏空白时间

    这篇文章主要介绍了详解如何在webpack中做预渲染降低首屏空白时间,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08

最新评论