bob体育官方平台
bob体育官方平台JavaScript 中函数的参数
function mfun{if p1=5; //默认值设为5…}

Arguments 对象

譬如调用函数时传出了过多的实参,参数将无法被引述,因为不恐怕找到相应的参数名。 只好动用 arguments 对象来调用实参。

JavaScript 函数有个放置的目的 arguments 对象。argument 对象包涵了调用函数时传出的参数数组,它是叁个类数组对象。

我们得以经过 arguments 对象的习性和措施让函数实现广大非常的效用。

1、js不质量评定实参的个数,可是大家得以用 argument 对象的 length 属性检查测量试验实参的个数。

function add() {
    if( arguments.length == 2 ){
        return arguments[0] + arguments[1];
    }else{
        return '传入的参数不合法';
    }
}

console.log( add(2,3) );
console.log( add(1,2,3) );

2、重载函数。

js是黄金年代种弱类型的言语,没有重运载飞机制,当大家重写函数时,会将原来的函数直接覆盖掉。

只是我们得以由此 arguments 对象剖断传入实参的花色与数码,举办不一样的操作,然后回到分歧的数值,以落实重载。

function sumAll() {
    var i, sum = 0;
    for (i = 0; i < arguments.length; i++) {
        sum += arguments[i];
    }
    return sum;
}

console.log( sumAll(1,2,3,4,5) );   //15
console.log( sumAll(1,3,5,7,9,11,13) );     //49

3、定义三个函数来连接字符串。

您能够传递自便数量的参数到该函数,第一个参数内定三个字符作为衔接点来再三再四字符串。

function myConcat(separator) {
  var args = Array.prototype.slice.call(arguments, 1);  //从第二个参数开始将参数列表转换成参数数组
  return args.join(separator);
}

var x = myConcat(", ", "red", "orange", "blue");    //"red, orange, blue"
var y = myConcat("; ", "elephant", "giraffe", "lion", "cheetah");    //"elephant; giraffe; lion; cheetah"
console.log(x);
console.log(y);

 

附:转成数组的通用函数(能够将 arguments 对象转变来数组)

var toArray = function(s){
    try{
        return Array.prototype.slice.call(s);
    } catch(e){
        var arr = [];
        for(var i = 0,len = s.length; i < len; i++){
            //arr.push(s[i]);
               arr[i] = s[i];  //据说这样比push快
        }
         return arr;
    }
}

 

参考:

当函数须要2个参数时,以前习贯那样写

functionName(parameter1, parameter2, parameter3) {
    // 要执行的代码……
}

内需2参数,第二个为可选参数时定义

默许参数

假若调用函数时未传入丰裕多的实参,未提供的参数会被默许设置为: undefined.

为此大家最棒为参数设置叁个暗中同意值。

function myFunction(x, y) {
    console.log(x);
    console.log(y);
    console.log(typeof y);
    y = y || 1;    //为 y 参数设置默认值 
    console.log(y);
}
myFunction(2);

若是传入了 y 参数,y = y || 1 会重回 y;若无传到 y 参数,y = y || 1 会再次回到大家设置的默许值 1,因为 undefined 为 false.

JS分歧于别的语言,方便起见它经过第叁个值求  “||”,第二个值为“true”,则赶回第三个值;第二个值为“false”,则赶回第二个值。

function mfun{…}

参数准绳

JavaScript 函数定义时形参未有一点名数据类型。

JavaScript 函数不会对实参的品类进行检查实验。

JavaScript 函数不会对实参的个数实行检验。

这是php习惯.. =___=b..

越多关于JavaScript相关内容感兴趣的读者可查看本站专项论题:《JavaScript常用函数本领汇总》、《JavaScript传值操作才能总计》、《javascript编码操作手艺计算》、《JavaScript中json操作技巧总结》、《JavaScript错误与调治手艺计算》、《JavaScript数据构造与算法本事总计》、《JavaScript遍历算法与本事计算》及《JavaScript数学生运动算用法计算》

本文实例汇报了JS函数多个参数默许值钦赐方法。分享给我们供我们参照他事他说加以考查,具体如下:

新生发觉完全没有必要这么写,js函数甚至不供给在括弧内预设参数名,能够用一下格局传入大肆多少个参数自动适配,当未有被定义时,那些未被赋值参数被调用时值为 undefined

funciton mfun{...}
返回顶部