博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript 之 function函数及参数arguments
阅读量:6653 次
发布时间:2019-06-25

本文共 1296 字,大约阅读时间需要 4 分钟。

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是不会同步的
 

转载于:https://www.cnblogs.com/greenteaone/p/9225337.html

你可能感兴趣的文章
Calibrate测试Exadata IO
查看>>
【C语言】15-预处理指令1-宏定义
查看>>
【C语言】19-static和extern关键字1-对函数的作用
查看>>
9、单机运行环境搭建之 --CentOS-6.4下mysqldump 备份与还原数据库
查看>>
分享:C++中头文件、源文件之间的区别与联系
查看>>
好类 笔记
查看>>
Web前端浏览器兼容初探【转】
查看>>
菜鸟开技术博啦
查看>>
关于多线程生命周期原理
查看>>
如何使用U盘安装操作系统 安装GHOST XP, xp纯净版
查看>>
POJ 1062 昂贵的聘礼
查看>>
理解Java对象序列化——Serializable接口
查看>>
一个简易的WebServer程序
查看>>
Python学习入门基础教程(learning Python)--5.3 Python写文件基础
查看>>
关于js加密解密
查看>>
JBoss7快速入门
查看>>
Sequence one(hdu2610dfs+去重)
查看>>
每日英语:Rethinking How We Watch TV
查看>>
[置顶] EasyMock的简单使用
查看>>
WeakReference and WeakHashMap
查看>>