2012-08-10 63 views
0

我看到javascript代碼window.fnName和功能相等

window.myfn=function(){} 

我的疑問是

function myfn(){ 
//some code. 
} 

和window.myfn相同???

在此先感謝!

+0

第一個對我來說似乎是一個全局函數。 – 2619 2012-08-10 11:44:11

+1

那麼第二個也是全局的,如果它不在別的範圍內,它將被分配給全局命名空間。 – 2012-08-10 11:48:10

+0

任何人都可以用例子來解釋! – kirankumar 2012-08-10 11:51:47

回答

1

在全球範圍內,

function fn() { ... } 

結合名「FN」作爲全局對象的一個​​函數對象的屬性。因此,它是幾乎一樣

window.fn = function() { ... } 

的區別是微妙的,在大多數情況下不是非常重要的,與該「FN」符號在函數內部的範圍內都有效的方法來做到。

現在,請注意,window.name = value;將值綁定到全局對象的某個屬性的任何位置(假設當前window未被損壞)。函數聲明語句可能出現在任何範圍內,並且綁定將與該上下文相關。