search
HomeWeb Front-endJS Tutorialjs 覆盖和重载 函数_javascript技巧

学过JAVA的人对函数的覆盖和重载肯定是再熟悉不过了。
重载指两个或多个函数的参数类型,顺序和数量以及返回值不一样。
覆盖指两个或多个函数的参数类型,顺序和数量以及返回值完全一样。
那javascript真的有这种特性么?
回答是JS中函数重名只会采用最后一个定义。
首先来看下下面的代码

复制代码 代码如下:




New Document








    
    



2th test


    
    



3th test


    





首先按名为 function with no arguments 的按钮

页面的结果为 this is a function named 'testFun' with one argument,the argument is undefined
然后按名为 function with one argument test 的按钮
页面的结果为 this is a function named 'testFun' with one argument,the argument is test
然后按名为 function with no arguments 的按钮
页面的结果为 this is a function named 'testFun2' with no arguments.
然后按名为 function with one argument test 的按钮
页面的结果为 this is a function named 'testFun2' with no arguments.

从以上的测试中我们发现我们只是点换了两个函数的定义顺序,结果大不相同。
从上面的测试中我们可以得出结论: 重载的话,只要函数定义在下面就会覆盖上面的函数定义。
好了,接下来看覆盖。
按名为 test function share the same name and arguments. 的按钮

页面的结果为 this is a function named 'testFun3' second.
测试结果很明显,结论也是和上面相同的。
最终,我们得出结论:
方法重名,JS会以最后定义的函数作为函数体。当然这不包括JS中的继承中的覆盖。
欢迎拍砖
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
CentOS覆盖安装及CentOS7覆盖安装CentOS覆盖安装及CentOS7覆盖安装Feb 29, 2024 pm 10:00 PM

本文目录导读:CentOS覆盖安装CentOS7覆盖安装为您分享在CentOS操作系统中,经常需要执行覆盖安装来解决系统问题或进行更新。本文将详细介绍CentOS的覆盖安装和CentOS7的覆盖安装步骤,助您有效管理和维护系统。CentOS覆盖安装在系统已经安装的情况下进行CentOS的覆盖安装通常是为了修复系统问题或进行更新。在执行此操作之前,请务必备份重要数据,以免遗失。1.下载最新的CentOS镜像文件,并制作启动U盘或光盘。2.将启动U盘或光盘插入计算机,重启计算机并进入BIOS设置,将

如何重载 golang 函数?如何重载 golang 函数?Apr 28, 2024 am 09:27 AM

Go中不支持传统函数重载,但可以通过以下技术模拟:多返回值:方法签名相同但返回类型不同的函数可实现重载。可变参数:使用...语法创建接收可变数量参数的函数,允许处理不同签名的方法调用。

golang函数重载与多态的区别?golang函数重载与多态的区别?Apr 30, 2024 am 09:30 AM

Go语言中不支持函数重载,因为它采用鸭子类型,根据实际类型确定值类型。而多态则通过接口类型和方法调用实现,不同类别的对象可以以相同方式响应。具体来说,Go语言中通过定义接口并实现这些方法,可以使不同类型的对象拥有相似行为,从而支持多态。

Go 语言中的多态和重载怎样实现?Go 语言中的多态和重载怎样实现?Jun 10, 2023 am 10:25 AM

Go语言作为一门静态类型语言,看似不能像动态语言那样实现多态和重载。但是,Go语言利用接口的特性实现了多态,而重载的实现则更加简单和精准。实现多态的方法Go语言中的接口可以在调用过程中实现多态,接口可以描述一个对象的行为,任何实现了接口所有方法的类型都可以称之为该接口类型的实例。通过这种方式,只需定义好接口类型,实现不同的具体类型,就可以实现多态。下面是一个

PHP函数是否支持函数重载和函数覆盖?PHP函数是否支持函数重载和函数覆盖?Apr 19, 2024 am 10:06 AM

PHP语言不支持函数重载和函数覆盖,原因是函数重载可能导致二义性。替代方案:使用命名空间隔离函数。设置参数缺省值。使用可变函数参数。

nosql与mysql的区别有哪些nosql与mysql的区别有哪些Jan 28, 2023 pm 04:51 PM

区别:1、MySQL是关系数据库,NoSQL是非关系型。2、MySQL严格模式限制并不容易扩展,NoSQL容易扩展。3、MySQL创建数据库前需详细的数据库模型,而在NoSQL不需要。4、MySQL提供了大量的报告工具,而nosql没有。5、与MySQL相比,NoSQL提供了更灵活的设计。6、MySQL中使用的标准语言是SQL,而NoSQL中缺乏标准的查询语言。

php有没有方法重载?如何实现?php有没有方法重载?如何实现?Mar 28, 2023 pm 01:54 PM

PHP是一种非常流行的服务器端脚本语言,用于开发Web应用程序。然而,对于一些初学者来说,理解PHP的一些概念可能会带来一些困难。本文将探讨PHP中方法的重载的概念。

C++语法错误:重载的运算符必须是成员函数,怎么改正?C++语法错误:重载的运算符必须是成员函数,怎么改正?Aug 22, 2023 am 08:22 AM

C++是一种流行的编程语言,具有强大的面向对象编程功能。在使用C++进行程序设计时,有时可能会遇到一些语法错误。本文将讨论一种常见的错误,即“重载的运算符必须是成员函数”,并提供解决该问题的解决方案。在C++中,运算符可以被重载,以便使用自定义类的对象进行各种操作。例如,“+”运算符可以被重载,以实现两个自定义类对象之间的加法运算。运算符重载可以通过成员函数

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

Repo: How To Revive Teammates
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor