js中方法定義的時候沒有定義參數,調用的時候可以傳參嗎?

如下代碼:
function checkJ()
{
     alert(arguments[0]);

     return arguments.length;
}
可以這樣調這個方法嗎?

var len = checkJ("參數一",2,"參數3");


你可以把 JavaScript 裏的 arguments, 理解成 Java 下 void main(String[] args) 函數裏的 args.


不同是,在定義函數的時候,不用明確寫出。
JavaScript 引擎在執行時,自動提供 arguments 的參照,方便在程序中使用。

------------------------
引用 4 樓 functionsub 的回覆:
 ……
就我瞭解的
js是弱類型語言,所以不在乎你傳的參數是什麼樣的,所有參數都可以通過arguments來獲取。
    ……
---------------------

這個問題跟弱類型沒關係。弱類型語言,是指 JavaScript 裏,定義變量,參數等時,不用指定類型。

這個問題和 JavaScript 是 script 語言,不是編譯語言,有關。
Java 是編譯語言,通過嚴格定義函數參數,編譯器可以幫助開發者減少執行時錯誤或意外的發生。

而 JavaScript 是 script 語言,需要的是 flexibility. 靈活性。函數裏內涵變量 arguments 的引入, 就正是這一靈活性的體現。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章