`
zengshaotao
  • 浏览: 755103 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JavaScript的函数定义覆盖而不是重载

 
阅读更多

function aa(){

alert("fff");

}

 

function aa(dd){

alert(dd);

}

 

aa();

aa("dddddd");

 

执行时,先弹出undefined,再弹出dddddd

合理的解释,就是后面的函数定义覆盖了之前了定义,因JavaScript没有像java这样明确的函数重载的概念

覆盖后第一次调用aa()时没有传入参数,所以是undefined,然后第二次调用就正常了

分享到:
评论

相关推荐

    js 覆盖和重载 函数

    学过JAVA的人对函数的覆盖和重载肯定是再熟悉不过了。 重载指两个或多个函数的参数类型,顺序和数量以及返回值不一样。 覆盖指两个或多个函数的参数类型,顺序和数量以及返回值完全一样。 那javascript真的有这种...

    javascript函数重载解决方案分享

    JS的函数定义可以指定形式参数名称,多多少少我们会以为js至少可以支持参数个数不同的方法重载,然而遗憾的是这仅仅是一个假象,js所有的参数都是以arguments传递过去的,这个参数类似于数组,在函数调用的时候,...

    JavaScript function函数种类详解

    本篇主要介绍普通函数、匿名函数、闭包函数 ...在Js中函数是没有重载,定义相同函数名、不同参数签名的函数,后面的函数会覆盖前面的函数。调用时,只会调用后面的函数。 var n1 = 1; function add(value1) { retur

    如何实现JS函数的重载

    } 上面那段代码其实是行不通的,因为函数定义时的参数个数和函数调用时的参数个数没有任何关系。 在函数中可以用f.arguments[0]和f.arguments[1]得到调用时传入的第一和第二个参数,所以定义function(lengt

    JavaScript中重名的函数与对象示例详析

    前言 本文主要给大家介绍了关于...JavaScript没有重载这个概念,它仅依据函数名来区分函数。 后定义的同名函数覆盖之前的,与参数无关。 function test() { console.log("test"); } test(); //输出 "test arg0 + un

    javascript函数中参数传递问题示例探讨

    相信每一位刚接触javascript的同学在函数参数传递上都会很疑惑,原因无他,那就是它的语法太怪异了,你定义一个函数 ...但是,我要告诉你的是,javascript中不存在函数重载,如果你定义了两个同名函数,那么先定义的函数将

    JavaScript忍者禁术

    Secrets of the JavaScript Ninja(翻译:JavaScript忍者禁术)适用有JS基础的,这本书以函数为中心(函数也确实是js的核心),对函数的讲解非常全面细致,涉及到函数的定义、扩展、重载、curry化、闭包、重定向、继承...

    浅谈JavaScript function函数种类

    在Js中函数是没有重载,定义相同函数名、不同参数签名的函数,后面的函数会覆盖前面的函数。调用时,只会调用后面的函数。 代码如下: var n1 = 1;   function add(value1) {  return n1 + 1; } alert(add(n1&...

    PHP实现的函数重载功能示例

    因此基于这2点,注定了PHP中无法重载函数,(类似Javascript语言),也无法有构造函数的重载。 由于实现函数的重载对提高开发效率很有帮助,如果能象C#或者C++那样,那就非常好了。事实上,PHP的提供了一个魔术方法...

    javascript中通过arguments参数伪装方法重载

    而javascript没有方法重载这个概念。但是我们可以通过arguments这个参数来伪装成函数的重载 在模拟之前我们先看一下代码: 代码如下: //表面上没有声明形式参数的函数 function fun() { alert(“示例代码”&#...

    JavaScript王者归来part.1 总数2

     6.1.1.2 JavaScript函数的奥妙——魔法代码   6.1.2 函数的调用   6.2 函数的参数   6.2.1 形参与实参   6.2.2 Arguments对象   6.2.2.1 一个使用Arguments对象检测形参的例子   6.2.2.2 一个使用...

    Javascript 面向对象之重载

    假如 我这样定义: 代码如下: function getDate(){…..} function getDate(date){…..} 那么后一个方法将覆盖前一个,虽然不报错。 但是我们确实是可以实现重载的,如果你用过jQuery,你就会深有体会,比如$(“#btn”...

    源文件程序天下JAVASCRIPT实例自学手册

    4.5.1 通过定义对象的构造函数的方法 4.5.2 通过对象直接初始化的方法 4.5.3 修改、删除对象实例的属性 4.5.4 通过原型为对象添加新属性和新方法 4.5.5 自定义对象的嵌套 4.5.6 内存的分配和释放 4.6 本章小结 第5章...

    Javascript 面向对象 重载

    假如 我这样定义: 代码如下: function getDate(){…..} function getDate(date){…..} 那么后一个方法将覆盖前一个,虽然不报错。 但是我们确实是可以实现重载的,如果你用过jQuery,你就会深有体会,比如$(“#btn”...

    Javascript数组操作高级心得整理

     模拟函数重载 10 (3) Function对象(类) 10  Function对象的使用 10  使用Function类的length属性 11  使用Function类的valueOf()方法和toString()方法 11 (4) 闭包 11 8. 循环语句 11 (1) for循环 12  ...

    JavaScript基础和实例代码

    4.5.1 通过定义对象的构造函数的方法 4.5.2 通过对象直接初始化的方法 4.5.3 修改、删除对象实例的属性 4.5.4 通过原型为对象添加新属性和新方法 4.5.5 自定义对象的嵌套 4.5.6 内存的分配和释放 4.6 本章小结 第5章...

    05-web开发系列图书27-33.doc

    理解JavaScript函数为何具有状态;实现JavaScript “Generics”;使用代码块;使用函数进行判断决策;实现代理、委托、mixin和重载函数;创建和测试动态内容等。后半部分则偏重于实际项目,包括实现一个完整的Ajax和...

    JavaScript中常见陷阱小结

    JavaScript不支持重载,在JavaScript中,脚本在执行时不会顾及函数定义时的参数,而是直接使用在作用域链中最后定义的那个函数。这意味着,相同名称的函数永远只存在一个实例 闭包是与作用域相关的一个概念,它指的...

    javascript 面向对象编程基础 多态

    重载:由于Javascript是弱类型的语言,而且又支持可变参数,当我们定义重载方法的时候,解释器无法通过参数类型和参数个数来区分不同的重载方法,因此方法重载是不被支持的!当先后定义了同名的方法的时候,后定义...

    Javascript面向对象扩展库(lang.js)

    lang.js是Javascript面向对象编程的扩展库,支持包、类的定义和函数重载等功能,接口简洁规范,易用性强,压缩包内包含文档示例和带注释的源码,欢迎下载试用。

Global site tag (gtag.js) - Google Analytics