★★★ 本篇为原创,需要引用转载的朋友请注明:《 http://stephen830.iteye.com/blog/336287 》 谢谢支持!★★★
在javascript中有个系统变量arguments,在函数内使用,可以得到当前调用者调用函数所使用的参数。看看下面的例子:
function foo(){
alert(arguments.length);//3
var params="";
for(var i=0;i<arguments.length;i++){
params=params+arguments[i];
}
alert(params);//abc
}
foo("a","b","c");
通过上面的例子,可以很清楚地了解了arguments的功能了。
我们知道,在javascript中如果定义了2个或2个以上的相同名字的函数,则只有最后定义的函数才有效。就如下面的例子:
function show(s){
alert(s);
}
function show(s1,s2){
alert(s1+s2);
}
show("a");//aundefined
例子中的show("a")调用的是show(s1,s3)函数,所以最后的结果显示了aundefined。
在java中经常会使用同名方法,在实际的开发过程中,同名函数(方法)的调用非常的方便,现在我们就可以利用arguments同样在javascript中实现同名函数。看下面的例子:
function showMessage(){
var argLength = arguments.length;
if(argLength==0||argLength>2) alert("参数错误!必须为1个或者2个参数");
switch(argLength){
case 1:
showMessage1(arguments[0]);
break;
case 2:
showMessage2(arguments[0],arguments[1]);
break;
}
}
function showMessage1(s){
alert(s);
}
function showMessage2(s1,s2){
alert(s1+s2);
}
在上面的例子中,调用的时候就可以传入1个或者2个参数都可以,showMessage("a")或者showMessage("a","b")都是有效的。
------------------------------------------------------------
分享知识,分享快乐,希望文章能给需要的朋友带来小小的帮助。
分享到:
相关推荐
本文将深入探讨如何在JavaScript中实现对象封装,并参考阮一峰老师的实例进行讲解。 首先,让我们了解JavaScript中的构造函数。构造函数是一种特殊的函数,用于创建和初始化对象。当我们使用`new`关键字调用一个...
在条件语句中定义函数需要注意函数声明提升的问题,因为函数声明提升,if条件内的函数声明会覆盖外部同名的函数声明。 ```javascript var sayHi; if(true) { sayHi = function() { alert("1"); } } else { ...
4. **JavaScript没有函数重载**:与其他支持重载的语言不同,JavaScript不允许同名函数具有不同的参数列表。如果定义了两个同名函数,后面的定义将覆盖前面的,因此无法实现真正的重载。 5. **函数内部属性**:函数...
因此,在JavaScript中,函数参数的不同并不足以区分两个同名函数。 4. 对象和方法 在JavaScript中,函数可以作为对象的属性存在,而对象可以有多个属性拥有相同的名字。但是,由于它们是作为不同对象的属性存在,...
- **函数作为参数**:JavaScript中函数可以作为其他函数的参数,实现高阶函数功能。 - **闭包**:函数内部能访问外部变量,且外部无法直接访问内部变量,形成了闭包,常用于数据封装和记忆化等场景。 理解并熟练...
对母版页使用CSS与...这种方法可以让我们在母版页的<head></head>中添加一个内容控件,然后在内容页中在对应的内容控件中写CSS和JavaScript代码。例如,我们可以在母版页中添加一个ContentPlaceHolder控件: ...
JavaScript 命名空间是一种组织代码的策略,用于避免全局变量污染和冲突,尤其是在大型项目中,多个组件或模块共存时。JavaScript 本身并不直接支持命名空间的概念,但可以通过对象和闭包来模拟实现。以下是一些实现...
JavaScript,作为一种广泛应用于Web开发的脚本语言,其在实际应用中常常会遇到命名冲突的问题。特别是在大型项目中,随着代码量的增加,不同模块之间的函数或变量名称可能相同,导致错误。为了解决这个问题,开发者...
这个问题来源于一个具体的场景:用户通过一段代码实现了向页面动态添加一个JavaScript函数的功能,但当尝试多次执行该代码时,导致同名函数被多次添加到页面中。因此,提出了如何在动态添加前删除已存在的同名函数的...
但在JavaScript中,后定义的函数会覆盖先前定义的同名函数。因此,当调用一个函数时,不管有多少参数传入,实际上只会调用最新的那个函数,这就意味着函数的重载在JavaScript中是不支持的。 JavaScript提供了多种...
Xajax类功能描叙:Xajax将服务器端JavaBean中以on开始的函数生成客户端可供javascript调用的同名函数,从而实现 服务器端响应客户端事件进行处理的功.JavaBean中调用XajaxResponse生成XML文档返回客户端进行处理 ...
在本篇文章中,我们将探讨如何使用JavaScript实现一个简单的登录功能,并在登录成功后进行页面跳转操作。文章中的实例代码为我们提供了一个基础的HTML页面,其中包含了登录验证以及定时跳转的逻辑。 ### JavaScript...
JavaScript函数重载是指在同一个作用域内创建多个同名函数,但这些函数的参数列表不同。通过不同的参数列表可以区分不同的函数,使得同一个函数名可以根据不同的参数类型或数量执行不同的操作。在传统的编程语言中,...
在ECMAScript标准中,函数重载是一个允许在相同作用域内声明多个同名函数的概念,但是在JavaScript中实际上是没有函数重载的。这与Java等其他支持函数重载的语言不同。在Java中,你可以声明多个同名函数,只要它们的...
首先,JavaScript允许函数自我定义,这通常是通过将一个匿名函数赋值给与原函数同名的变量来实现的。下面是一个简单的例子: ```javascript function party() { console.log('Wow this is amazing!'); party = ...
在JavaScript中,如果同一个作用域内存在同名的函数和变量,在执行到变量赋值之前,同名函数会生效,而变量赋值之后,变量会覆盖函数。这种行为可能导致难以追踪的bug,特别是在使用第三方库和复杂的项目中。 以上...
在分发器函数中,还处理了script标签的加载错误或完成的回调逻辑,确保在合适的时候调用全局回调函数,并在操作完成后移除script标签。 ### 8. 错误处理 在实现中,还包含了错误处理的逻辑,如果在数据加载过程中...
本文将深入探讨如何在JavaScript中模拟重载,并提供具体的实现示例。 #### 二、JavaScript中的重载模拟 ##### 2.1 基于参数数量的模拟 JavaScript中有一个特殊的变量`arguments`,它是一个类数组对象,包含了传递...
使用嵌套函数时需要注意的一点是,由于嵌套函数可以访问外部函数的变量,所以如果外部函数中有变量与嵌套函数中的参数或变量同名,那么在嵌套函数中使用这些变量时,它们指向的是嵌套函数内部的变量。这是因为...
这就是JavaScript实现多态性的基础。 在实现树形控件时,我们可以创建一个`Tree`对象作为根节点,它包含多个`Branch`对象,每个`Branch`对象可以有子`Branch`或`Leaf`对象。这些对象都有`write()`方法,根据它们的...