2016-07-28 75 views
0

由於MDN表示,for ... in語句可以訪問與對象相關的所有屬性(和值)。爲什麼for ...在語句中返回方法和屬性?

我不知道爲什麼是方法也與此聲明中列出:如果我的document對象上環我得到的不僅是與之相關的屬性列表,而且這些方法,如提示()或焦點()

爲什麼這些方法在與for ... in循環相關的所有文檔中都被命名爲「屬性」?

+4

因爲方法是性質? –

+0

因爲在javascript中,一個對象是'name:value'對的集合,'value'可以是一個函數,這就是你如何得到一個方法。我不認爲'for ... in'是用於諸如'document' – Dellirium

+3

@GerardoFurtado之類的東西,更好的問題是,爲什麼'prompt'和'focus'可枚舉? –

回答

2

因爲方法也是屬性,只是類型爲function

見自己:

for (var prop in document) { 
    console.log("document." + prop + " = " + document[prop], typeof(document[prop])); 
}