JavaScript重载

这个有必要记录一下

在Javascript 中,每个函数都有一个隐含的对象arguments,表示给函数,实际传给的参数 ,那么我们可以用 arguments来实现函数的重载

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>javascript函数重载列子</title>
<script type="text/javascript">
//在Javascript 中,每个函数都有一个隐含的对象arguments,表示给函数
//实际传给的参数
function add(number1,number2)
{
alert(arguments.length)
alert(arguments[0])
alert(arguments[1])
alert(arguments[2])
}

add(10,20,30);//这里会调用上面的那个Add的函数里面的argument就默认是调用函数传入的值

function add2()
{
if(1==arguments.length)
{
alert(arguments[0])
}
else if(2==arguments.length)
{
alert(arguments[0]+arguments[1])
}
else if(3==arguments.length)
{
alert(arguments[0]+arguments[1]+arguments[2])

}
}
add2(3)
add2(3,4)
add2(3,4,5)
</script>
</head>
<body>
</body>
</html>

js脚本是自上而下进行读取的,所以html在加载的时候,会有弹出框出来。  

原文地址:https://www.cnblogs.com/ZkbFighting/p/9506974.html

时间: 2024-10-04 08:11:53

JavaScript重载的相关文章

JavaScript重载解读

在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)); //

javascript方法重载惹的祸

先贴出代码,看看执行结果会是什么? function ShowMsg() { //函数1 this.sure = function () { alert("ok"); }; //函数2 this.sure = function (msg) { alert(msg); }; } var showMsg = new ShowMsg(); showMsg.sure(); 看上面的代码,本以为是两个方法重载的函数,执行后会弹出"ok"的信息.实则却弹出一个空字符的框. 原来

thinkPHP的验证码

在thinkphp中使用验证码很容易,只要调用thinkphp现有的方法就可以.当然,php的GD库肯定是要开的(就是在php.ini中要加载gd模块). thinkphp 3.1 ---------------------------------------------------------------------------------------------- 首先,在写Action文件,如:IndexAction.class.php.<?php  class IndexAction e

javascript 函数重载 overloading

函数重载 https://en.wikipedia.org/wiki/Function_overloading In some programming languages, function overloading or method overloading is the ability to create multiple methods of the same name with different implementations. Calls to an overloaded functi

javaScript 函数重载

javaScript函数不支持重载.有时我们想像java.C等语言 一样定义 重载的方法,那么 我们就可以用其他的方式去定义 重载的函数. 当然,实现的方式 有好多种,每个人 可能不同.下面 我贴出我的实现及使用方法 和 大家交流. js 源码: /**  * 函数参数重载方法 overload,对函数参数进行模式匹配.默认的dispatcher支持*和...以及?,"*"表示一个任意类型的参数,"..."表示多个任  *意类型的参数,"?"一般

面向对象的Javascript(4):重载

在小项目中对于JavaScript使用,只要写几个function就行了.但在大型项目中,尤其是在开发追求 良好的用户体验的网站中,如SNS,就会 用到大量的JavaScrpt,有时JavaScript的工作量胜过了C#,这时写一堆function,就会显得很乱,杂乱无章,甚至会出现命名冲突,管理和维 护起来都很麻烦.对于这种情况我们就需要使用面向对象的思想来开发JavaScript.那我们就这样作罢: 在面向对象语言里重载是很重要的一个特性,而JavaScript这个自称面向对象的语言竟然没有

javascript 中break、 continue、函数不能重载

在javascript中,break与continue有着显著的差别. 如果遇到break语句,会终止最内层循环,无论后面还有多少计算. 如果遇到continue,只会终止此次循环,后面的自循环依然执行. var num = 0; for (var k = 0; k < 3; k++) { for (var i = 0; i < 3; i++) { for (var j = 0; j < 3; j++) { if (i === 1 && j === 1) { break;

javascript中的方法重载

在很多面向对象的高级语言中,都有方法的重载.而javascript没有方法重载这个概念.但是我们可以通过arguments这个参数来伪装成函数的重载 在模拟之前我们先看一下代码: //表面上没有声明形式参数的函数 function fun() { alert("示例代码"); } fun("小明", 100, true);//自己写了三个实际参数 通过结果我们看到,即使我们声明函数的时候没有定义形式参数,在调用方法的时候,我们也是可以写实际参数的.(实际上形式参数是

javascript闭包如何实现函数的重载?

本文和大家分享的主要是妙用javascript闭包实现函数重载相关内容,一起来看看吧,希望对大家学习javascript有所帮助. 1.准备知识 1.1 闭包 闭包是一个函数在创建时,允许该自身函数访问并操作该自身函数以外的变量时所创建的作用域.闭包可以让函数访问所有存在于该函数声明时的作用域内的变量和函数. <script>         var outerValue = "ninja";         var later;         function oute