jsarguments(jsarguments对象)
js中的arguments是什么东东
参数的默认取法。
在function定义的时候,可以定义参数,也可以不定义,如果调用这个函数的时候给了它参数,那么就可以通过这个数组来得到所有参数。
上面的代码的意思,就是如果调用$(id)这样的函数的话,就会返回由id所指定的这个页面控件。
比如一个div,其id是d1,那么用$("d1")就能够得到这个div。
又是0分,唉。
什么是JS中的arguments对象
1、首先arguments对象是一个类数组对象,形似数组,但却不是数组,它会有属于自己的一些属性和方法。当我们给函数传入了一些参数的时候(或者并没有传入参数只是调用的时候),在函数内部我们就可以获取到这个arguments对象,这个对象是js把我们传入函数的参数储存起来的对象
2、写个例子看一下
function?functBox(){
console.log(arguments)
}
functBox(1);
我们在浏览器输出看一下
对象包含一个length属性,她代表的是我们传入函数参数集合的长度,并且会把参数一一列出来第一个参数就是下标为0的值,以此类推
假设我们这样调用
functBox(1,[1,2,3],'这是参数3');
输出看一下
我们传入的参数一览无余
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)
深入理解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)的使用就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。