1.在函数代码中,使用特殊对象arguments,开发者无需明确指出参数名,就能访问它们。
1.1方法定义
function testArguments() {
var obj = arguments;
alert(obj[1]);
}
1.2方法调用
testArguments('zhang', 'quan');调用方法alert出的是“quan”,obj[1]会使用第二个参数。如果越界,即obj[2]或其它的类似越界方式,由于没有传递相应的参数,则返回undefined。
2.还可以用 arguments 对象检测函数的参数个数,引用属性 arguments.length 即可。
2.1方法定义
function testArguments() {
var obj = arguments;
alert(obj.length);
}
2.2方法调用
testArguments('zhang', 'quan');调用方法alert出的是传递的参数个数2.
注意:js不会验证传递给函数的参数个数是否等于函数定义的参数个数。开发者定义的函数都可以接受任意个数的参数(根据 Netscape 的文档,最多可接受 255 个),而不会引发任何错误。任何遗漏的参数都会以 undefined 传递给函数,多余的函数将忽略。
3.在js中不存在方法重载,后定义的方法会把先定义的方法覆盖掉,使其失去作用,使用argumengs参数查看参数个数可以模拟重载的效果。
3.1方法调用
testArguments('zhang','quan');
3.2失去作用的方法,被覆盖
function testArguments(zhang, quan) {
alert(zhang + ';' + quan);
}
3.3后定义的方法,起作用
function testArguments() {
var obj = arguments;
if(obj.length == 0) {
return;
}
if(obj.length == 1) {
alert(obj[0]);
return;
}
alert(obj[0] + '===' + obj[1]);
}
分享到:
相关推荐
1. `arguments`对象的基本使用: 在JavaScript函数内部,`arguments`对象包含了函数调用时的所有参数,它的索引从0开始,`arguments[0]`对应于第一个参数,`arguments[1]`对应于第二个参数,以此类推。例如,下面的...
### JavaScript中的`arguments`对象详解 在JavaScript编程中,`arguments`对象是一个非常有用的特性,尤其是在处理函数调用时不确定参数数量的情况下。虽然它不是ECMAScript标准的一部分,但所有主流浏览器都支持这...
arguments还有一些其他的特性,例如它可以作为一个伪数组来使用。这些特性将在《伪数组》一文中进行详细的解释。 理解函数形式参数和arguments之间的关系对于编写高效的JavaScript代码至关重要。只有通过深入理解...
在JavaScript编程语言中,`arguments`对象是一个非常重要的特性,特别是在处理函数参数时。...然而,现代JavaScript语法推荐使用默认参数、剩余参数和解构赋值等特性来替代`arguments`,以提高代码的清晰度和可维护性。
JavaScript中的`arguments`对象是一个非常重要的特性,尤其在处理不确定数量的函数参数时。它不是一个真正的数组,但具有数组类似的行为,允许我们访问函数调用时传入的所有参数。在这个文档中,我们将深入探讨`...
"arguments-extended"就是一个这样的开源库,专为处理JavaScript中的`arguments`对象提供了一系列实用方法,旨在增强参数操作的灵活性和便利性。 `arguments`对象在JavaScript中是一个特殊的对象,它在函数内部可用...
由于安全和性能的限制,现代JavaScript开发中通常不推荐使用arguments.callee和arguments.caller。 ### 注意事项 使用arguments对象有一些需要注意的地方: - 在严格模式下,arguments与形参之间的绑定会被切断,...
若不使用arguments对象,则需要为每一个参数数量重载一个函数,这在JavaScript中是不可行的,因为JavaScript不支持方法重载。通过arguments对象,我们可以轻松地处理不同数量的参数,如下代码所示: ```javascript ...
因此,在现代JavaScript编程中,通常推荐使用闭包或者函数名引用代替`arguments.callee`。 总结,`arguments`, `caller`, 和 `callee`是JavaScript函数中三个重要的隐含参数,它们提供了一种动态访问和操作函数调用...
JavaScript中的`arguments`对象是一个非常实用的特性,它允许函数接收任意数量的参数,而不仅仅是预先定义好的。在JavaScript函数内部,`arguments`对象提供了一种访问这些参数的方法,无论函数声明时指定了多少参数...
在JavaScript编程语言中,`arguments`对象是一个非常重要的特性,尤其在处理函数参数时。它不是一个数组,而是一个类数组对象,提供了访问函数调用时传递的所有参数的途径,无论这些参数是否在函数定义中声明。`...
JavaScript中的内置对象arguments是一个特别的对象,它是一个类数组对象,存在于所有JavaScript函数中。它主要用来存储传递给函数的参数,这些参数被称为函数的“实参”。虽然arguments对象包含了传递给函数的所有...
当然,随着JavaScript语言的发展,新的函数特性比如箭头函数等可能会影响到arguments、caller和 callee的使用方式,所以在实际编程中,开发者需要根据具体的项目需求和环境兼容性来选择合适的技术方案。
这个特性在现代JavaScript编程中已经不推荐使用,但在老旧的代码中还是可以看到它的影子,特别是在使用递归调用函数时,arguments.callee可以用来引用函数自身,无需使用函数名。 在介绍arguments.callee的应用之前...
JavaScript中的arguments对象的使用有其优势,特别是在需要处理不确定数量的参数的情况下。然而,需要注意的是,arguments对象虽然类似数组,但不是真正的数组对象。因此,如果需要使用数组的方法,需要将其转换为...
在JavaScript中,arguments、caller、callee和apply是四个与函数调用相关的特性,它们在编写高级和复杂的函数逻辑时非常有用。下面将详细介绍这些概念及其用法。 1. **arguments对象** arguments对象是一个特殊...
JavaScript中的`apply`和`arguments`对象是两个非常重要的特性,它们在函数复用和处理动态参数时起着关键作用。本文将详细讲解这两个概念及其在复用方法中的应用。 `apply`是JavaScript中Function对象的一个方法,...
ECMAScript中的函数并不介意传递的参数有多少,也不介意是什么类型。由于JavaScript允许函数有不定数目的参数,所以我们需要一种机制,可以在 函数体内 ...这篇文章将详细介绍Javascript中的arguments对象和使用方法。