本文給大家分享的是網(wǎng)易云課堂中金旭亮老師的課堂筆記,對于大家學習javascript非常有幫助,這里推薦給小伙伴們
本文是金旭亮老師網(wǎng)易云課堂的課程筆記,記錄下來,以供備忘
函數(shù)的參數(shù)
對于參數(shù)值,JavaScript不會進行類型檢查,任何類型的值都可以被傳遞給參數(shù)。
對于函數(shù)參數(shù),如果過少,沒得到值的參數(shù)值為undefined,如果過多,多的會被忽略掉。
- //調(diào)用函數(shù)時傳入的實際參數(shù)
- function add(num1, num2) {
- return num1 + num2;
- }
- //一切正常的調(diào)用方式
- console.info(add(1, 2)); //3
- //不檢查參數(shù)的類型,字串和數(shù)字可以混用
- console.info(add("1", 2)); //12
- //多余參數(shù)被忽略
- console.info(add(1, 2, 3)); //3
- //少的參數(shù)被視為undefined
- //1+undefined=NaN
- console.info(add(1)); //NaN
檢測參數(shù)是否缺失
判斷是否為 undefined
- //檢測參數(shù)是否缺失
- function sayHello(name, message) {
- if (typeof message === 'undefined') {
- message = '你好!';
- }
- console.info(name + "," + message);
- }
- sayHello("賈君鵬", "你媽喊你吃飯");
- sayHello("賈君鵬"); //賈君鵬,你好!
保存參數(shù)的arguments對象
利用arguments對象,寫出支持任意個參數(shù)的函數(shù)。arguments像是一個數(shù)組,但實際上不是數(shù)組,所以很多數(shù)組方法是不能用的。
- //保存參數(shù)的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
函數(shù)對象的length屬性
arguments.length 函數(shù)接收的實參個數(shù)
函數(shù)名.length 函數(shù)定義的形參
- //函數(shù)對象的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
作為參數(shù)的函數(shù)對象
函數(shù)是一個對象,可以作為另一個函數(shù)的參數(shù)
- //作為參數(shù)的函數(shù)對象
- function callSomeFunction(func, argu) {
- return func(argu);
- }
- function getGreeting(name) {
- return "Hello, " + name;
- }
- var result = callSomeFunction(getGreeting, "jxl");
- console.info(result); //Hello,jxl
使用命名/匿名函數(shù)作為函數(shù)參數(shù)
- var callTwice = function (otherFunc) {
- otherFunc();
- otherFunc();
- };
- callTwice(function () {
- console.info("this is a function");
- });
函數(shù)作為參數(shù)實例:
- <script>
- var button = document.getElementById('btnClick');
- var result = document.getElementById('result');
- var clickCount = 0;
- button.addEventListener('click', function () {
- clickCount++;
- result.setAttribute('value', clickCount+': Hello,world!');
- })
- </script>
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
新聞熱點
疑難解答
圖片精選