1. 程式人生 > >js---通過arguments來獲取指定參數

js---通過arguments來獲取指定參數

兩個 我們 利用 屬性 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來獲取指定參數