javascript
JS_arguments
arguments: javascript中的函數(shù)定義并未指定函數(shù)形參的類型,函數(shù)調(diào)用也未對(duì)傳入的實(shí)參值做任何類型檢查。實(shí)際上,javascript函數(shù)調(diào)用甚至不檢查傳入形參的個(gè)數(shù)
|- -同名形參: 嚴(yán)格模式下,出現(xiàn)同名形參會(huì)拋出語(yǔ)法錯(cuò)誤 function add(x,x,x){}
|- -參數(shù)個(gè)數(shù):
|- -實(shí)參比函數(shù)聲明指定的形參個(gè)數(shù)要少, 剩下的形參都將設(shè)置為undefined值
? ? ?**需要設(shè)置默認(rèn)值function add(x,y){y = y || 2} 【undefined、null、false、0、-0、''、NaN】
|- -實(shí)參比形參個(gè)數(shù)要多, 需要使用arguments對(duì)象 arguments[0],arguments[1]
|- -對(duì)象為參數(shù) function add(Obejct) {Object.age++}
|- -同步 嚴(yán)格模式下,arguments對(duì)象的值和形參的值是獨(dú)立的 function(num1){ num1,arguments[0] // 1, 1 arguments[0]=2 //1, 2 }
|- -callee arguments屬性, 指向擁有這個(gè)arguments對(duì)象的函數(shù) 【嚴(yán)格模式下,訪問(wèn)這個(gè)屬性會(huì)拋出TypeError錯(cuò)誤】
|- -caller
|- -函數(shù)的caller 調(diào)用當(dāng)前函數(shù)的函數(shù)的引用 【嚴(yán)格模式下,訪問(wèn)這個(gè)屬性會(huì)拋出TypeError錯(cuò)誤】
|- -arguments對(duì)象的caller 無(wú)用
|- -函數(shù)重載 只能通過(guò)檢查傳入函數(shù)中參數(shù)的類型和數(shù)量并作出不同的反應(yīng),來(lái)模仿方法的重載
if(arguments.length == 1){
alert(arguments[0] + 10);
}else if(arguments.length == 2){
alert(arguments[0] + arguments[1]);
}
|- -參數(shù)傳遞 按值傳遞(函數(shù)外部的值復(fù)制到函數(shù)內(nèi)部的參數(shù))
|- -基本類型值 復(fù)制給一個(gè)局部變量 (命名參數(shù)或arguments對(duì)象的一個(gè)元素)
|- -引用類型值 地址復(fù)制給一個(gè)變量, 變量發(fā)生改變影響函數(shù)外部的值
詳細(xì)教程 https://www.cnblogs.com/xiaohuochai/p/5706289.html
轉(zhuǎn)載于:https://www.cnblogs.com/smileself/p/8491395.html
總結(jié)
以上是生活随笔為你收集整理的JS_arguments的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 巡检分区空间
- 下一篇: JavaScript(十三)面向对象