js的arguments
来源:互联网 发布:电魂网络新游戏 编辑:程序博客网 时间:2024/05/27 21:14
js函数不会检查函数调用时传入的参数个数与定义他时的形式参数个数是否一致,一般地,js函数调用时可以接收的参数个数为25个,当然不同的浏览器可能有差异,ECMAScript标准对这一点并没有规范。
如果你不确定函数调用时传入了多少个参数,可以使用函数的arguments对象。
arguments 有点像数组,arguments.length 为传入的参数个数,arguments[0] 是第一个参数,arguments[1]是第二个参数,类推...
函数对象的length属性:这个属性很少用到,甚至很少人知道,函数的length属性就是该函数定义时的形式参数个数。
复制代码代码如下:
function myfun(a,b){
alert(arguments.length); //弹出调用时实际传入的参数个数
alert(arguments[0]); //对应参数a
return a+b;
}
alert(myfun.length); //形参个数,2
arguments对象还有其他属性,比如常用的arguments.callee ,指向该函数自身。
要注意:如果函数内部声明了与形参同名的子函数(同域内,变量未赋值时同名函数生效),arguments 的相应值也会被修改,但是,在作用域内使用 var 声明了同名的 变量则不会导致 arguments 的参数值被函数替换(但firefox 依然替换)。
复制代码代码如下:
function aa(a , b,c){ //js 群的一道题
function a(){}
console.log(a); //function a
console.log(aa);
//如果作用域内没有 var a ,则 arguments[0] 为 function a (friefox(version 17) 则一定是function a)
console.log(arguments[0]);
var a = "ee"; //注销此句,考擦 arguments[0] 将变为 a 函数
var aa = "444";
arguments = 6;
console.log(a);
console.log(aa);
console.log(arguments);
}
aa(1,2,3);
0 0
- JS的arguments对象
- js 的 arguments 对象
- js的arguments
- js的arguments对象
- js的arguments用法
- 【js】 古怪的 arguments
- JS的arguments
- js的arguments分析
- js的arguments
- js arguments.length, arguments.callee的使用
- js中arguments的使用
- js arguments对象的用法
- js中arguments的用法
- js中arguments的用法
- js中arguments的用法
- js中arguments的用法
- js中的arguments的解析
- js中arguments的用法
- Linux学习——用户信息文件
- hdu 4336 Card Collector (概率与期望+状压DP)
- MapReduce向Map函数传递参数: Configuration类
- 异常: java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ListOrderedMap 解决方法
- 第二次上机作业
- js的arguments
- vs2012 编译jsoncpp和使用jsoncpp lib出现的问题
- 513. Find Bottom Left Tree Value
- Git 版本管理系统
- C# 输入法
- XML——c#读取带命名空间的xml
- c++实验,1000到10000之间个位和千位相等的质数
- 米斯特白帽培训讲义(v2)实战篇 余闻同学录
- js基础--this大揭秘