JavaScript 之 function函数及参数arguments
2024-10-10 16:04:34
JavaScript用function关键字声明函数,可以用return返回值,也可以没有返回值。
建议:要么统一有返回值,要么统一都没有返回值,这样调试代码方便。
函数定义格式:
function functionName(参数){
//函数体内
}
定义函数的时候,参数可以写,也可以不写,Javascript没有限制传递参数的个数,也不介意传入参数的数据类型。
所以函数的参数都是按值传递的
在函数体内可以通过arguments 对象来访问参数数组,从而获取传递给函数的每一个参数。
arguments.length:参数个数
用方括号语法访问它的每一个参数。例如arguments[0]为传进来的第一个参数。
function test(){
console.log("======");
console.log('agruments类型:'+typeof(arguments))
console.log("====for...in读参数为====");
for(var each in arguments){
console.log(arguments[each]);
}
console.log("====for读参数为====");
for(var i=0;i< arguments.length;i++){
console.log(arguments[i]);
}
console.log("===arguments.length===");
console.log(arguments.length)
}
test('a',20);
运行结果:
arguments的值永远与对应命名参数的值保持同步,前提是传入参数和命名参数一致。
示例:
function test(name,age){
console.log('传进的age='+age)
arguments[1]=50;
console.log('给agruments[1]赋值后的age='+age)
}
test('line',20);
运行结果:
从运行结果发现,
arguments[1]的值与age的值是同步的 注意:所有参数传递的都只是值,不可能通过引用传递参数。 如果传入参数少于命名参数,示例如下
function test(name,age){
console.log('传进的age='+age)
arguments[1]=50;
console.log('给agruments[1]赋值后的age='+age)
console.log('给agruments[1]赋值后的arguments[1]='+arguments[1])
}
test('line');
运行结果如下:
从运行结果看出:
如果传入参数少于命名参数,那命名参数与arguments是不会同步的
最新文章
- 内存VSS/RSS/PSS/USS名词解释
- 初窥Kaggle竞赛
- Tomcat 6 --- 你很少使用的安全管理SecurityManager
- mysql批量生成修改表和列注释语句
- JSON.stringify 语法实例讲解
- TCP\UDP链接的异同
- JqueryUI插件网络连接
- swift版 关于微信支付的那点事
- Java基础-数组(06)
- Python模糊查询本地文件夹去除文件后缀(7行代码)
- The 19th Zhejiang University Programming Contest Sponsored by TuSimple (Mirror)
- 怎么取cxgrid某一列的合计值
- Linux 特殊权限 SUID,SGID,SBIT
- XP支持AHCI硬盘工作模式
- 安全之路 —— 无DLL文件实现远程线程注入
- day14 Python百分号字符串拼接
- Electron 快速入门
- 【Hibernate】解析hibernate中的缓存
- hadoop 日常问题汇总(持续更新)
- Memcache命令及参数用法
热门文章
- 网络编程(2)—UDP
- 为Qemu aarch32开发板添加sd卡
- sf2gis@163.com
- Error-MVCr:找到了多个与 URL 匹配的控制器类型。如果多个控制器上的特性路由与请求的 URL 匹配,则可能会发生这种情况。
- Redis源码学习-Master&;Slave的命令交互
- Nginx负载均衡权重,ip_hash
- request.GetResponse()超时的解决办法
- AJAX技术之DWR框架
- 分享:android图片浏览器—类微信朋友圈相片浏览【android代码下载】
- FOR XML PATH 可以将查询结果根据行输出成XML格式