Javascript函數(shù)的參數(shù)
本文是金旭亮老師網(wǎng)易云課堂的課程筆記,記錄下來,以供備忘
函數(shù)的參數(shù)
對(duì)于參數(shù)值,JavaScript不會(huì)進(jìn)行類型檢查,任何類型的值都可以被傳遞給參數(shù)。
對(duì)于函數(shù)參數(shù),如果過少,沒得到值的參數(shù)值為undefined,如果過多,多的會(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ù)來運(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)文章
JS判斷客服QQ號(hào)在線還是離線狀態(tài)的方法
這篇文章主要介紹了JS判斷客服QQ號(hào)在線還是離線狀態(tài)的方法,可實(shí)現(xiàn)完整的判斷QQ在線及對(duì)話的功能,是非常實(shí)用的技巧,需要的朋友可以參考下2015-01-01
淺談?dòng)肳ebpack路徑壓縮圖片上傳尺寸獲取的問題
下面小編就為大家分享一篇淺談?dòng)肳ebpack路徑壓縮圖片上傳尺寸獲取的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-02-02
JavaScript實(shí)現(xiàn)當(dāng)網(wǎng)頁加載完成后執(zhí)行指定函數(shù)的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)當(dāng)網(wǎng)頁加載完成后執(zhí)行指定函數(shù)的方法,實(shí)例分析了javascript加載頁面及執(zhí)行函數(shù)的技巧,需要的朋友可以參考下2015-03-03
javascript檢測(cè)瀏覽器的縮放狀態(tài)實(shí)現(xiàn)代碼
這篇文章主要介紹了javascript檢測(cè)瀏覽器的縮放狀態(tài)實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-09-09
給頁面渲染時(shí)間加速 干掉Dom Level 0 Event
我們?nèi)サ羰录壎ǖ倪壿?發(fā)現(xiàn)只渲染dom元素,不綁定事件的時(shí)間,僅僅125ms,可見事件綁定的時(shí)間消耗還是很大的 ,尤其是第一種方式,也就是Dom Level 0 Event,最為耗時(shí)2012-12-12
javascript算法題:求任意一個(gè)1-9位不重復(fù)的N位數(shù)在該組合中的大小排列序號(hào)
這篇文章主要介紹了javascript算法題:求任意一個(gè)1-9位不重復(fù)的N位數(shù)在該組合中的大小排列序號(hào),需要的朋友可以參考下2015-04-04
js中的面向?qū)ο笾畬?duì)象常見創(chuàng)建方法詳解
這篇文章主要介紹了js中的面向?qū)ο笾畬?duì)象常見創(chuàng)建方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了JavaScript創(chuàng)建對(duì)象的四種常用方式,需要的朋友可以參考下2019-12-12

