本章跟大家介紹一下Javascript函數的參數,有一定的參考價值,有需要的朋友可以參考一下,希望對你們有幫助。
函數的參數
對於參數值,JavaScript不會進行類型檢查,任何類型的值都可以被傳遞給參數。
對於函數參數,如果過少,沒得到值的參數值為undefined,如果過多,多的會被忽略掉。
//调用函数时传入的实际参数 function add(num1, num2) { return num1 + num2; } //一切正常的调用方式 console.info(add(1, 2)); //3 //不检查参数的类型,字串和数字可以混用 console.info(add("1", 2)); //12 //多余参数被忽略 console.info(add(1, 2, 3)); //3 //少的参数被视为undefined //1+undefined=NaN console.info(add(1)); //NaN
偵測參數是否缺失
判斷是否為undefined
//检测参数是否缺失 function sayHello(name, message) { if (typeof message === 'undefined') { message = '你好!'; } console.info(name + "," + message); } sayHello("贾君鹏", "你妈喊你吃饭"); sayHello("贾君鹏"); //贾君鹏,你好!
<> 🎜>
利用arguments對象,寫出支援任一參數的函數。 arguments像是數組,但實際上不是數組,所以很多數組方法是不能用的。
//保存参数的arguments对象 function sumNumbers() { var result = 0; for (var i = 0; i < arguments.length; i++) { result += arguments[i]; } return result; } console.info(sumNumbers(1, 2)); //3 console.info(sumNumbers(1, 2, 3)); //6
arguments.length .length 函數定義的形參
//函数对象的length属性 function sayName(name){ console.info(name); } function sum(num1, num2){ return num1 + num2; } function sayHi(){ console.info("hi"); } console.info(sayName.length); //1 console.info(sum.length); //2 console.info(sayHi.length); //0
//作为参数的函数对象 function callSomeFunction(func, argu) { return func(argu); } function getGreeting(name) { return "Hello, " + name; } var result = callSomeFunction(getGreeting, "jxl"); console.info(result); //Hello,jxl
!