JS arguments对象
来源:互联网 发布:索尼rx100一代知乎 编辑:程序博客网 时间:2024/04/30 21:56
最近开始学习JS, 因为东西太多,而且比较繁琐。所以把自己的学习心得记录在这里,可以加深一下印象。
今天接触到了JS的arguments对象。查阅了一些资料,现在总结一下。
arguments对象是JS的内置对象,不能显式的进行创建。是Array-like(类似于数组)对象,是函数的参数组成的对象。可以通过数组形式访问arguments对象的值。
arguments[0],arguments[1],...
也可以通过这种形式为arguments赋值,
arguments[0] = 'arg0';arguments[1] = 'arg1';...
arguments 对象类似于数组,但不是数组,arguments只有一个数组的属性--length;
arguments.length 表示函数参数的长度, 及参数的个数。
arguments可以转化成数组(三种方式):
var args = Array.prototype.slice.call(arguments); //对象冒充
var args = Array.from(arguments); //Array.from方法
var arguments = [...arguments]; //spread syntax , 详情请见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator
既然讲到了函数参数, 我们就来研究一下函数的参数形式。
Javascript中函数参数分为显式参数跟隐式参数。显式参数在函数定义式列出。例如
functionName (parameter1,parameter2, parameter3) {
//代码块
} //当中的parameter1,parameter2, parameter3 即为显式参数
而隐式参数(arguments)是在函数调用是传递给函数的真正的值。
函数在调用时如果缺少参数,参数会默认设置为:undefined.
如果函数调用时设置了过多的参数,参数将无法被引用,因为无法找到对应的参数名。只能使用 arguments 对象来调用。
既然arguments是函数参数组成的类似于数组的对象,那么我们当然通过arguments来获取函数的参数。
x = findMax(1, 123, 500, 115, 44, 88);
function findMax() {
var i, max = 0;
for (i = 0; i < arguments.length; i++) {
if (arguments[i] > max) {
max = arguments[i];
}
}
return max;
}
arguments常用的属性:
1.arguments.callee Reference to the currently executing function
2.arguments.length Reference to the number of arguments passed to the function
举一个例子,来自MDN
function myConcat(separator) {
var args = Array.prototype.slice.call(arguments, 1); //这里的参数1,表示从arguments[1]开始取值
return args.join(separator);
}
// returns "...., orange, blue"myConcat(", ", "....", "orange", "blue");// returns "elephant; giraffe; lion; cheetah"myConcat("; ", "elephant", "giraffe", "lion", "cheetah");// returns "sage. basil. oregano. pepper. parsley"myConcat(". ", "sage", "basil", "oregano", "pepper", "parsley");
到这里,对arguments对象应该有一个初步的了解了。
在CSDN写的第一篇日志,棒棒哒,给自己鼓个掌。
- js arguments对象
- js arguments对象说明
- js arguments对象
- js arguments对象
- JS arguments 对象
- JS的arguments对象
- js 的 arguments 对象
- js arguments对象
- JS Arguments对象
- js中的arguments对象
- js的arguments对象
- js-arguments对象
- js arguments对象
- js arguments对象
- js arguments对象
- js Arguments对象
- js中的arguments对象
- JS arguments对象
- HDU Problem 3466 Proud Merchants【01背包】
- ORA-12537: TNS:connection closed
- RPR 弹性分组环
- Tomcat启动时报错java.lang.lllegalStateException(SpringMvc项目)
- Rikka with Parenthesis II
- JS arguments对象
- HDU-2087 剪花布条 【KMP简单变型】
- 使用awk拼接字段时部分中文乱码问题
- 培训班模块工作总结
- 特立独行的在输入法弹起的时候将指定控件往上推
- cocos2d-x IOS 和Android播放视频(包括网络视频)
- Makefile总结
- could not get next sequence value
- NSDate添加常用Category,用于得到是否是今天,昨天等