2013-04-03 56 views
0

我想知道是否有可能獲得參數類型或Javascript本身中的方法所需的參數數量?JavaScript方法期望的參數

喜歡的東西, getElementById.length或getElementById.arguments

+3

你試過了嗎? – Bergi 2013-04-03 20:59:39

+0

出於好奇,你的用例是什麼?我無法真正想到一個場景,你需要在運行時需要一個函數需要的參數數量。 – MichD 2013-04-03 21:05:50

+1

@Michd:[反射](http://en.wikipedia.org/wiki/Reflection_(computer_programming))可以是一個巨大的好處... – Bergi 2013-04-03 21:11:36

回答

3

獲取參數類型

絕對不可能的。 JavaScript是弱類型的。您需要查看文檔以查看函數期望的參數。

得到預期的參數個數由法

是。您可以使用功能對象的length property。它包含正式定義的參數的數量,但請注意,函數仍然是variadic,並且可能會接受更多或更少的參數,然後他們的length建議。

document.getElementById.length; 

產生0例如(至少在歌劇,可以實現之間不同)。

getElementById.arguments

的功能arguments property對象是棄用,它會調用期間曾含有arguments object - 對一般的功能沒有信息。

0

「獲得通過一個函數預期的參數類型爲」

我們不能得到一個特定的function的預期參數類型,因爲variablesjavascript可以在任何時刻改變其性質。

例如:

function test(msg) 
{ 
//something 
} 

上述功能可以被稱爲像test("hai")test(123)test(true)


可能是你可以得到裏面的任何函數的參數類型。像下面一樣,

test("hello"); 
function test(msg) 
{ 
alert(typeof msg); //string 
}