arguments参数,arguments
剩余参数和arguments对象
对于一个普通函数fn,函数内部内置了一个 arguments 对象,当用于接收实参的形参个数不确定时,可以用arguments接收。
arguments展示形式是一个伪数组。
伪数组也叫类数组,并不是真正意义上的数组,是一组具有数组的length属性以及下标,但是不具有数组的push、pop、reverse等方法的对象。
箭头函数里不能使用arguments获取参数列表。
但是可以使用剩余参数获取参数列表。
剩余参数语法允许我们将一个不定数量的参数表示为一个数组。
具有伪数组不具有的pop、push、sort方法等。
1. 剩余参数只包含那些没有对应形参的实参,而 arguments 对象包含了传给函数的所有实参。
2. 剩余参数是真正的数组,arguments对象不是一个真正的数组。
3. arguments对象还有一些附加的属性。
arguments对象的属性:
END
下一篇:7种不同函数内的this指向问题
推荐阅读:
1. 高阶函数(Higher-order function)
2. 闭包(closure)
深入理解JS函数的参数(arguments)的使用
JS函数的参数在function内可以用arguments对象来获取。
参数的调用有两种方式:
1、期望参数的使用。
2、实际传递参数的使用。
应用举例:
function
Test(a,
b){
var
i,
s
=
"Test函数有";
var
numargs
=
arguments.length;
//
获取实际被传递参数的数值。
var
expargs
=
Test.length;
//
获取期望参数的数值,函数定义时的预期参数个数(有a和b
2个参数)。
s
+=
(expargs
+
"个参数。");
s
+=
"\n\n"
for
(i
=0
;
i
numargs;
i++){
//
获取参数内容。
s
+=
"
第"
+
i
+
"个参数是:"
+
arguments[i]
+
"\n";
}
return(s);
//
返回参数列表。
}
alert(Test('param1','second
param','第三个参数'));
需要注意的是:
arguments是一个object对象,它不是数组,不能对它使用shift、push、join等方法。
上述举例时用的arguments[i]中的i只是作为arguments对象的属性,并不能理解为数组下标。
代码演示
head
script
language="javascript"
function
reloadList(){
if(typeof
arguments[0]
==
"function"){
arguments[0].call(this);
arguments[0]();
}
if(typeof
arguments[0]
==
"string")
alert(arguments[0]);
if(typeof
arguments[0]
==
"number")
alert(arguments[0]);
if(typeof
arguments[0]
==
"undefined")
alert(arguments[0]);
if(typeof
arguments[0]
==
"boolean")
alert(arguments[0]);
if(typeof
arguments[0]
==
"null")
alert(arguments[0]);
}
reloadList(function(){});
/script
/head
body
/body
以上这篇深入理解JS函数的参数(arguments)的使用就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
JS中的arguments和this
1.arguments,伪数组,包含函数中所有的参数
2.函数如果不给任何条件,那么this默认指向window
3.如果要指定this就通过call来传this
fn.call(1)
如果传的this不是对象,那么js会自动帮忙封装为对象?
这时的this是1对象
如何声明的时候不转化为对象呢
function fn(){
'use strict'
console.log(this)
}
fn.call(1),this就是1
f.call(1,2,3,4)
此时对象1就是this,234就是arguments
4.this是隐藏参数,arguments是显示参数
5.let person={
name:'frank',
sayHi(){
console.log("你好,我叫"+person.name)}
}
我们可以用直接保存了对象地址的变量获取name
这种方法称为引用:变量保存了对象的地址
6.js在每一个函数都加上一个this,用this获取目前还不知道名字的对象
7.call指定this
fn.call(this,参数1,参数2)
Eclipse中的Arguments参数是什么意思
这里的Arguments参数有两种,你看看eclipse里面。
上面一种是programe Arguments,意思是你的程序运行时要用到的参数。这个参数将放到main函数的args[]数组中。如果你在程序中用这个数组的话就有用,不用这个数组的话,就没有用。这个参数也就是我们在DOS里运行时,的那个命令行参数如命令:java first abc.这个abc就是参数。
下面的那个是VM Arguments,意思是java虚拟机的参数。如填上这个:-version的话就会输出jDK的版本信息。这个虚拟机的参数还有很多可以在DOS里输出java来查看
在java中,arguments是什么意思
String[] arguments 声明了一个String 对象数组。
这个数组中保存着来自于命令行的程序参数。
arguments[0] arguments[1]分别代表着第一个参数和第二个参数。
比如,有一个类名为Egclass.class
c:\java Egclasss.class Arg0 Arg1
英语parameter和argument作为参数的意思区别是什么?
英语parameter和argument作为参数的意思区别:
1、释义不同。parameter是指决定因素;规范;范围,argument是指争论;争吵;争辩;辩论;论据;理由;论点。
2、 参数指向不同。parameter是指函数定义中参数,而argument指的是函数调用时的实际参数。
3、对应中文术语不同。parameter=形参(formal parameter), argument=实参(actual parameter)。
4、用法不同。在不很严格的情况下,现在二者可以混用,一般用argument,而parameter则比较少用。
5、在方法选择上不同。例如:
While defining method, variables passed in the method are called parameters.
当定义方法时,传递到方法中的变量称为参数。
While using those methods, values passed to those variables are called arguments.
当调用方法时,传给变量的值称为引数。(有时argument被翻译为“引数“)