在上篇文章中我們討論了javascript中的默認參數,這篇文章,我們來討論下javascript的arguments參數對象。
如下例的一個函數,我們如何根據傳入參數的不同來做不同的處理呢?
			// Should return 6
			addAll(1, 2, 3);
			// Should return 10
			addAll(1, 2, 3, 4);
幸運的是,javascript有一個arguments對象,可以來處理上述情況。arguments對象是一個類數組對象,想了解arguments對象的詳細情況請戳這里,我們使用arguments對象來改變上例:
			    for (var i = 0; i < arguments.length; i++) {
			        sum += arguments[i];
			    }
			    return sum;
			}
			// Returns 6
			addAll(1, 2, 3);
			// Returns 10
			addAll(1, 2, 3, 4);
上面我們說過arguments對象是一個類數組對象,下面我們來測試下:
			//will output false
			getName("benjamin");
		上述測試結果可以看出:
		它不是一個數組對象,那么它和數組對象有什么不同呢?詳情請戳這里。
執行下面例子會拋出一個錯誤:
			    return sorted;
			}
			sortArgs();
我們可以像下面這樣把一個類數組對象轉換為數組對象:
			    // Now this will work!
			    sorted = args.sort()
			    return sorted;
			}
			//will output [1, 2, 3] 
			console.log(sortArgs(1,3,2));
如果你感覺這篇文章對你有幫助,希望轉給更多需要的人。文章不妥之處,歡迎留言斧正。
新聞熱點
疑難解答
圖片精選