js---通過arguments來獲取指定參數
阿新 • • 發佈:2019-02-01
兩個 我們 利用 屬性 cti 實現 pre code 通過
通過訪問arguments對象的length屬性可以獲取有多少個參數傳遞給了函數。
如:每次被調用的時候,輸出傳入其中的參數個數
function doAdd(){ alert(arguments.length) } doAdd() //0 doAdd(1) //1 doAdd(1, 2) //2 doAdd("string", 1) //2
由此,可以利用這一點,函數能夠接受任意個參數參數並分別實現適當的功能。
我們在封裝函數的時候,會攜帶不同的參數,我們想要獲取指定的參數,可以通過 arguments[ ] 來拿到
function doAdd(){ if(arguments.length ==1 ){ alert(arguments[0]) }else if(arguments.length ==2 ){ alert(arguments[0] + arguments[1]) } } doAdd(1) // 1 doAdd(1, 2) // 3
接下來,我們再來看一個例子,arguments對象可以與命名參數一起使用。
function doAdd(num1, num2){ if(arguments.length ==1 ){ alert(num1 + arguments[0]) }else if(arguments.length ==2 ){ alert(arguments[1] + num2) } }
doAdd(1) //2 doAdd(1, 2) // 4
這裏需要註意的一點是,兩個命名的參數和argumens對象一起使用。由於num1和arguments[0]的值形態,他們可以互換使用。
此外,arguments的值要永遠與對應命名參數的值保持同步。
function doAdd(num1,num2){ arguments[1] = 0;
alert(num1); // 1 alert(num2); // 0 alert(arguments[0]) // 1
alert(arguments[1]) // 0 } doAdd(1, 2)
函數重寫了第二個參數num2,將第二個參數的值改為0,因為arguments對象的值會反應到對應的命名參數上,所以修改argumens[1]的值也就是修改了num2。
js---通過arguments來獲取指定參數