JS可变参数的使用:arguments
2016-05-16 09:58
721 查看
arguments简介:
1、在JavaScript中,arguments对象是比较特别的一个对象,实际上是当前函数的一个内置属性。arguments非常类似Array,但实际上又不是一个Array实例
2、arguments对象的长度是由实参个数而不是形参个数决定的。形参是函数内部重新开辟内存空间存储的变量,但是其与arguments对象内存空间并不重叠。对于arguments和值都存在的情况下,两者值是同步的,但是针对其中一个无值的情况下,对于此无值的情形值不会得以同步
代码示例
/**
* 模拟实现数字输入功能
* @param editor 当前获取的编辑器
*/
function numberInput(){
var editors = arguments;
for(var i=0;i < editors.length;i++){
editors[i].target.bind('keydown',function(e){
if(!(e.keyCode == 8 || (e.keyCode >= 37 && e.keyCode <= 40) || e.keyCode == 46
|| (e.keyCode >= 49 && e.keyCode <= 57) || (e.keyCode >= 96 && e.keyCode <= 103))){
return false;
}
});
}
}
总结:
1、从函数定义上可以看出,函数中如果使用可变参数 arguments ,则不需要写形参
2、在调用函数时,可以直接向函数中传递多个实参
1、在JavaScript中,arguments对象是比较特别的一个对象,实际上是当前函数的一个内置属性。arguments非常类似Array,但实际上又不是一个Array实例
2、arguments对象的长度是由实参个数而不是形参个数决定的。形参是函数内部重新开辟内存空间存储的变量,但是其与arguments对象内存空间并不重叠。对于arguments和值都存在的情况下,两者值是同步的,但是针对其中一个无值的情况下,对于此无值的情形值不会得以同步
代码示例
/**
* 模拟实现数字输入功能
* @param editor 当前获取的编辑器
*/
function numberInput(){
var editors = arguments;
for(var i=0;i < editors.length;i++){
editors[i].target.bind('keydown',function(e){
if(!(e.keyCode == 8 || (e.keyCode >= 37 && e.keyCode <= 40) || e.keyCode == 46
|| (e.keyCode >= 49 && e.keyCode <= 57) || (e.keyCode >= 96 && e.keyCode <= 103))){
return false;
}
});
}
}
var editorQuantity = $("#invoiceDetailDatagrid").datagrid('getEditor',{index : lastEditRowIndex,field : 'quantity'}); var editorUnitPrice = $("#invoiceDetailDatagrid").datagrid('getEditor',{index : lastEditRowIndex,field : 'unitPrice'}); //模拟数字输入框 numberInput(editorQuantity,editorUnitPrice);
总结:
1、从函数定义上可以看出,函数中如果使用可变参数 arguments ,则不需要写形参
2、在调用函数时,可以直接向函数中传递多个实参
相关文章推荐
- Js String转Int(Number与parseInt的区别)
- Javascript AMD模块化规范
- jstl的tld配置
- 经纬度坐标转为上海地方坐标代码(js代码)
- boost库 json解析
- javascript实现起伏的水波背景效果
- javascript通用函数
- 在Javascript中定义类
- jsp放在web-inf下访问静态资源
- Js判断一个字符串是否包含一个子串
- JavaScript判断用户名和密码不能为空的实现代码
- JS闭包、作用域链、垃圾回收、内存泄露相关知识小结
- js流动式效果显示当前系统时间
- JavaScript禁止复制与粘贴的实现代码
- JavaScript代码性能优化总结(推荐)
- js中indexOf的定义和用法
- cojs 奈特 题解报告
- [Javascript] String method: endsWith() && startsWith()
- javascript 内部对象(1)——Math 对象
- 12个非常实用的JavaScript小技巧