javascript
js的arguments_javascript
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
今天突然想研究一下javascript的arguments對(duì)象了。
大家對(duì)于arguments對(duì)象一定都不陌生,先舉個(gè)簡(jiǎn)單的例子:
/* arguments */ var g = function(a, b){/* 獲取參數(shù) */var _ = arguments;document.write(_.length);/* 輸出4 */for(var i in _){document.write(_[i] + '<br>');};/*輸出結(jié)果:1234*/}(1, 2, 3, 4);從上面可以發(fā)現(xiàn),arguments對(duì)象可以獲取傳入函數(shù)的參數(shù)值和數(shù)量(arguments.length)
同時(shí),arguments還可以獲取本身函數(shù)行參的數(shù)量(arguments.callee.length)
arguments對(duì)象允許通過(guò)argument[0]的形式返回參數(shù)值。如:argument[0] = 1
上面還提到arguments.callee,他則可以打印當(dāng)前的函數(shù)。
了解了以上,便可以通過(guò)arguments.callee來(lái)判斷傳入?yún)?shù)是否大于實(shí)參數(shù)量
/* arguments */ var g = function(a, b){/* 獲取參數(shù) */var _ = arguments;if(_.length > _.callee.length) alert('實(shí)參>形參');}(1, 2, 3, 4);最重要的是,arguments對(duì)象就像是數(shù)組,但是它卻不是數(shù)組。
Object.prototype.toString.call(_$) = '[object Arguments]' _$ = arguments;var v = Object.prototype.toString.call(_$);/*[object Arguments]并不是[object Array],[object Object]*/舉一個(gè)簡(jiǎn)單的例子,該例子中也給出了簡(jiǎn)單的方法,如何獲取大于形參的部分并寫(xiě)入數(shù)組;
var g = function(a,b){_$ = arguments;var g = _$.length > 2 ? [].slice.call(_$, 2) : null;alert(g)}(1,2,3,4);
?希望我介紹的argument的相關(guān)知識(shí)對(duì)大家有所幫助。
最近慢慢的開(kāi)始研究起了javascript的一些基礎(chǔ)東西,也會(huì)拿出來(lái)跟大家分享。
轉(zhuǎn)載于:https://my.oschina.net/desetang/blog/69832
總結(jié)
以上是生活随笔為你收集整理的js的arguments_javascript的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: PC机键盘的处理过程
- 下一篇: 神经官能症患者可以喝咖啡吗?