2012-10-08 73 views
0

只是想了解我在允許在JavaScript中做什麼。這個問題是關於函數的,在下面的代碼片段中我所得到的是不是很好的實踐,或者你會怎樣做?將函數參數從一個函數傳遞到另一個函數,該代碼是否可以接受?

JS

function func1(arg){ 
    // run code ... 
    func2(arg);  
} 

function func2(arg){ 
    // run code ... 
    func3(arg);  
} 

function func3(arg){ 
    alert(arg); 
}​ 

func1('my message'); 

因此,舉例來說,如果我有這樣的顯示視頻和所需的參數,這個函數裏面我打電話說做一個AJAX調用,它也需要一個參數,那麼我將如何傳遞一個函數的函數那?

function loadVideos(param){ 

    //... 

    getData(param); 

} 

function getData(param){ 

    // ... 
} 

回答

1

是的,你可以有調用其他函數的函數。我假設你的第一個例子中每個函數都有用。

在你的第二個例子中,你會這樣做,就像你擁有它。如果您需要等待AJAX​​響應來調用第二個函數,您可以在回調AJAX請求時調用它。

如果loadVideos功能需要一些數據被提出的要求,你必須getData返回所需的值(S),其將被使用。或者如果paramsObject,那麼您可以讓它填充Object而不需要返回它。

+0

謝謝!所以如果2個函數有效地共享已傳入的參數它完全沒有問題? – styler

+0

是的,但請記住,如果參數是一個對象,則在另一箇中將會觀察到由一個函數所做的修改。 –

相關問題