2013-03-10 63 views
0

在document.ready中定義函數與區別?在document.ready中定義函數的區別

它是否會影響可以調用函數的範圍?

實施例,是否有任何問題/分歧我應該知道的在裏面的功能位置定義()&外():

<script> 
document.ready(){ 
function inside(){ 
    alert('inside'); 
} 
} 

function outside(){ 
    alert('outside'); 
} 

</script> 

回答

2

是的,你只能從回調內部訪問inside功能爲ready事件:

document.ready(function(){ 

    function inside(){ 
    alert('inside'); 
    } 

    inside(); // works 
    outside(); // works 

}); 

function outside(){ 
    alert('outside'); 
} 

inside(); // doesn't work 
outside(); // works 
1

是否影響時的函數可以是範圍被調用?

是的,沒有別的。

(雖然你的具體的例子取決於你先添加一個ready()方法將document對象)

1

Javascript具有功能級別範圍,這意味着如果您在document.ready中定義了一個函數,它將不會在document.ready外部提供。

我是wou ld在外面定義一個名稱空間,如下所示: var app = {};

然後定義您的內部功能,像這樣: app.inside =函數(){

內。然後會在你的應用程序全局命名空間。