JavaScript 之 function函数及参数arguments

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

时间: 2024-10-01 03:30:38

JavaScript 之 function函数及参数arguments的相关文章

javascript中所有函数的参数都是按值传递的

[javascript中所有函数的参数都是按值传递的] 参考:http://www.jb51.net/article/89297.htm

JavaScript——关于字符串的replace函数中的function函数的参数

1 <!DOCTYPE> 2 <html> 3 <head> 4 </head> 5 <body> 6 <script type="text/javascript"> 7 function test(s){ 8 var pattern=/&([^&;]+);/g; 9 s.replace(pattern,function(a,b,c,d,e){ 10 alert(a); 11 alert(b); 1

javascript之Function函数

在javascript里,函数是可以嵌套的. 如: function(){ funcrion square(x){ return x*x;  } return square(10); } 在javascript里,将函数绑定给一个对象,用对象调用的函数称为方法,容易跟C#搞混. 一.函数的属性 在函数体内,可以通过arguments.length获取传入函数的实参个数. function fun1 (x,y){ document.write(arguments.length()); //输出2,

JavaScript中Function函数与Object对象的关系

函数对象和其他内部对象的关系 除了函数对象,还有很多内部对象,比如:Object.Array.Date.RegExp.Math.Error.这些名称实际上表示一个 类型,可以通过new操作符返回一个对象.然而函数对象和其他对象不同,当用typeof得到一个函数对象的类型时,它仍然会返回字符串 "function",而typeof一个数组对象或其他的对象时,它会返回字符串"object".下面的代码示例了typeof不同类型的情况: 以下是引用片段: alert(ty

javascript小练习—函数接收参数并弹出

<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>函数接收参数并弹出</title> <style> body{font:12px/1.5 Tahoma;text-align:center;} code,input,button{font-family:inherit;} input{border:

Python中函数的参数-arguments

归纳起来,Python中函数的定义形式和调用形式主要有如下几种形式: # 函数的定义形式 def func(name) # 匹配positional参数或者keyword参数 def func(name=value) # 如果不传,有默认参数 def func(*name) # 将额外的positional参数转换成一个tuple,然后赋给name def func(**name) # 将额外的keyword参数转换成一个dictionary,然后赋给name def func(*other,

Javascript AJAX回调函数传递参数

在Javascript 中,特别是在AJAX中,回调函数常常是一个函数名,没有地方放入参数,如下面的AJAX代码,在成功后将调用回调函数callback,但callback是有参数的,如何把参数传进来呢? var callback = function(p1){ //do something } var ajaxSetting = { url: url, timeout:me.timeout, type: method, contentType: "application/json",

javascript中function 函数递归的陷阱问题

//看下这个递归方法,最后输出的值function fn(i){ i++; if(i<10){ fn(i); } else{ return i; } } var result = fn(0); console.log(result); 大部分人都可能一下就会说出结果为10,但是真实的结果是undefined.为什么呢?因为对于每一个函数,没有写return的返回值的时候,其实对于var a = function(); 就是没有给a赋值,那么这个值就是默认的undefined值了,可以typeof

JavaScript强化教程——函数参数

本文为 H5EDU 机构官方 HTML5培训 教程,主要介绍:JavaScript强化教程 -- 函数参数 JavaScript 函数参数 JavaScript 函数对参数的值(arguments)没有进行任何的检查. 函数显式参数与隐藏参数(arguments) 在先前的教程中,我们已经学习了函数的显式参数: functionName(parameter1, parameter2, parameter3) {     code to be executed } 函数显式参数在函数定义时列出.