2014-09-12 144 views
-4

對不起,如果我不夠清楚,因爲我是新來的JavaScript。JavaScript的全局/本地變量和返回變量爲HTML

讓我解釋一個例子。

例如,如果我有

*

(function() 
var foo; 
windows.foo = foo = (function()){ 
function foo (a,b){ 
this.colour = a.colour 
this.shape = b.shape 
} 
return foo; 
})(); 
}).call(this);* 

現在我的問題是

    關於範圍
  1. ,當 「富」 是全局和局部。

2.how我會在HTML中顯示foo的值。我不能使用document.getElementbyid();有沒有其他的功能,我可以使用?????

+0

它應該是'getElementById',而不是'getelementbyid'。 – Afsa 2014-09-12 14:39:26

+0

'這裏的第二個asdf是一個類,而第一個asdf是一個全局變量。 '/爲什麼括號「()」;'研究IIFE。 '//這意味着什麼?它的重要性取決於'this'是什麼以及它正在執行什麼(你把它留下了)。問題二沒有任何意義。 – 2014-09-12 14:39:37

+0

閱讀http://stackoverflow.com/questions/16937022/iife-invocation-in-javascript。請注意,內部的IIFE是完全沒有意義的。 – Bergi 2014-09-12 14:43:01

回答

0

通過

var asdf; 

聲明在當前範圍內的變量。

window.asdf = ... 

設置名爲「window」的對象的屬性「asdf」的值。

return asdf; 

返回函數 「ASDF」 只是申報;這被分配給你的(本地)變量「asdf」以及window.asdf。 括號調用本地定義的函數(導致前面提到的返回)。

.call(obj); 

調用函數並將函數內的this-pointer設置爲「obj」。