Javascript函數(shù)的參數(shù)
本文是金旭亮老師網(wǎng)易云課堂的課程筆記,記錄下來(lái),以供備忘
函數(shù)的參數(shù)
對(duì)于參數(shù)值,JavaScript不會(huì)進(jìn)行類型檢查,任何類型的值都可以被傳遞給參數(shù)。
對(duì)于函數(shù)參數(shù),如果過(guò)少,沒(méi)得到值的參數(shù)值為undefined,如果過(guò)多,多的會(huì)被忽略掉。
//調(diào)用函數(shù)時(shí)傳入的實(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
檢測(cè)參數(shù)是否缺失
判斷是否為 undefined
//檢測(cè)參數(shù)是否缺失 function sayHello(name, message) { if (typeof message === 'undefined') { message = '你好!'; } console.info(name + "," + message); } sayHello("賈君鵬", "你媽喊你吃飯"); sayHello("賈君鵬"); //賈君鵬,你好!
保存參數(shù)的arguments對(duì)象
利用arguments對(duì)象,寫出支持任意個(gè)參數(shù)的函數(shù)。arguments像是一個(gè)數(shù)組,但實(shí)際上不是數(shù)組,所以很多數(shù)組方法是不能用的。
//保存參數(shù)的arguments對(duì)象 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ù)對(duì)象的length屬性
arguments.length 函數(shù)接收的實(shí)參個(gè)數(shù)
函數(shù)名.length 函數(shù)定義的形參
//函數(shù)對(duì)象的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ù)對(duì)象
函數(shù)是一個(gè)對(duì)象,可以作為另一個(gè)函數(shù)的參數(shù)
//作為參數(shù)的函數(shù)對(duì)象 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ù)實(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>
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
- 使一個(gè)函數(shù)作為另外一個(gè)函數(shù)的參數(shù)來(lái)運(yùn)行的javascript代碼
- JavaScript獲取鼠標(biāo)坐標(biāo)的函數(shù)(兼容IE、FireFox、Chrome)
- javascript parseInt與Number函數(shù)的區(qū)別
- javascript 獲取url參數(shù)和script標(biāo)簽中獲取url參數(shù)函數(shù)代碼
- javascript讓setInteval里的函數(shù)參數(shù)中的this指向特定的對(duì)象
- 對(duì)字符串進(jìn)行HTML編碼和解碼的JavaScript函數(shù)
- javascript 函數(shù)速查表
- jQuery學(xué)習(xí)7 操作JavaScript對(duì)象和集合的函數(shù)
- 兩個(gè)比較有用的Javascript工具函數(shù)代碼
- JavaScript 編寫匿名函數(shù)的幾種方法
- Javascript 使用function定義構(gòu)造函數(shù)
- 詳解javascript函數(shù)的參數(shù)
相關(guān)文章
javascript讀取文本節(jié)點(diǎn)方法小結(jié)
本篇文章主要介紹了javascript讀取文本節(jié)點(diǎn)的方法,具有很好的參考價(jià)值,需要的朋友一起來(lái)看下吧2016-12-12JavaScript 正則表達(dá)式中g(shù)lobal模式的特性
這篇文章主要介紹了JavaScript 正則表達(dá)式中g(shù)lobal模式的特性 的相關(guān)資料,需要的朋友可以參考下2016-02-02關(guān)于微信公眾號(hào)開發(fā)無(wú)法支付的問(wèn)題解決
這篇文章主要介紹了關(guān)于微信公眾號(hào)開發(fā)無(wú)法支付的問(wèn)題解決,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12使用js操作css實(shí)現(xiàn)js改變背景圖片示例
有個(gè)朋友在weibo上問(wèn)我可不可以用JS和CSS讓頁(yè)面每次刷新隨機(jī)產(chǎn)生一張背景圖,當(dāng)然是可以的。具體的方法看下面的實(shí)現(xiàn)代碼吧2014-03-03Webpack框架核心概念(知識(shí)點(diǎn)整理)
webpack 是一個(gè)現(xiàn)代 JavaScript 應(yīng)用程序的模塊打包器(module bundler)。這篇文章主要介紹了Webpack框架核心概念(知識(shí)點(diǎn)整理),需要的朋友可以參考下2017-12-12javascript實(shí)現(xiàn)一個(gè)簡(jiǎn)單的彈出窗
本文給大家分享的是使用javascript實(shí)現(xiàn)的一個(gè)簡(jiǎn)單的彈出窗的代碼,非常的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下2016-02-02