欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS判斷傳入函數(shù)的參數(shù)是否為空(函數(shù)參數(shù)是否傳遞)

 更新時(shí)間:2023年05月01日 19:45:14   作者:hangge  
這篇文章主要介紹了JS判斷傳入函數(shù)的參數(shù)是否為空(函數(shù)參數(shù)是否傳遞),需要的朋友可以參考下

我們在編寫代碼的時(shí)候,有什么需要判斷函數(shù)有沒有傳參,方便我們進(jìn)行后續(xù)的操作,下面是具體的判斷是否傳參的幾種方法

一、通過undefined對比

function jb51(x,y){
            if(x==undefined){
                x=100;
            }
            y=y==undefined?200:y;
            alert(x+y);
        }
        jb51();

直接判斷x==undefined,函數(shù)中直接這樣就行,如果別的需要結(jié)合typeof(變量)=='undefined'來判斷參數(shù)有沒有定義。

二、通過||

function fun(x,y){
            x=x||0;
            y=y||1;
            console.log(x+y);
        }
        fun();

就是判斷x是否存在,不存在則x=0,y不存在則為1

三、通過argument

function fun(x,y){
			x=arguments[0]?arguments[0]:100;
			y=arguments[1]?arguments[1]:200;
			return x+y;
		}
		alert(fun());
		alert(fun(1,2));

分別輸出 300,3

四、形參 實(shí)參 解釋argument

    function fn(a,b)
    {
        console.log(fn.length); //得到是 函數(shù)的形參的個(gè)數(shù)
        //console.log(arguments);
        console.log(arguments.length); // 得到的是實(shí)參的個(gè)數(shù)
        if(fn.length == arguments.length)
        {
            console.log(a+b);
        }
        else
        {
            console.error("對不起,您的參數(shù)不匹配,正確的參數(shù)個(gè)數(shù)為:" + fn.length);
        }
        //console.log(a+b);
    }
    fn(1,2);
    fn(1,2,3);

效果圖

補(bǔ)充

1,判斷參數(shù)是否傳遞

如果我們定義了一個(gè)帶參數(shù)的方法,調(diào)用的時(shí)候這些參數(shù)可以全部傳遞、部分傳遞、甚至不傳遞。

// 帶兩個(gè)參數(shù)的方法
function test(a, b) {
}
// 方法調(diào)用
test();
test(0);
test(0, 1);

(2)如果在函數(shù)中想要知道這個(gè)參數(shù)是否傳遞,可以通過如下方式判斷(注意是 3 個(gè)等號)

// 帶兩個(gè)參數(shù)的方法
function test(a, b) {
  if(a === undefined){
    console.log("參數(shù)a沒有傳遞!");
  }
  if(b === undefined){
    console.log("參數(shù)b沒有傳遞!");
  }
}
// 方法調(diào)用
test(0);

效果圖

2,參數(shù)默認(rèn)值

(1)當(dāng)函數(shù)的某個(gè)參數(shù)沒有傳遞時(shí),如果想要它有個(gè)默認(rèn)值,可以這么寫。

// 帶兩個(gè)參數(shù)的方法
function test(a, b) {
  a = (a === undefined ? 1 : a); // a默認(rèn)值為1
  b = (b === undefined ? 2 : b); // b默認(rèn)值為2
}

注意:不建議使用下面這種方式,因?yàn)槿绻麉?shù)為 0 的話會(huì)出問題。

// 帶兩個(gè)參數(shù)的方法
function?test(a, b) {
??a = a | 1;?// a默認(rèn)值為1
??b = b | 2;?// b默認(rèn)值為2
}

(2)如果用 ES6 我們可以直接這么寫:

// 帶兩個(gè)參數(shù)的方法
function test(a = 1, b = 2) {
}

到此這篇關(guān)于JS判斷傳入函數(shù)的參數(shù)是否為空(函數(shù)參數(shù)是否傳遞)的文章就介紹到這了,更多相關(guān)js中函數(shù)傳參判斷內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論