2011-04-20 49 views
0
var value; 
addEventListener('GetPatientSearchValues', function() { 
var value= 20; 
FunctionName(); 
}); 

Function FunctionName(); 
{ 
    value = value + 1; 
} 

我的問題是我需要接收值20,我需要將它傳遞給FunctioName。但它直接調用函數...即使alert(value)在監聽器內部不起作用,但是當我不在Listner中調用另一個function時,該警報仍然有效。addEventlistner首先偵聽函數還是變量?

+0

您的代碼是無效的,因爲語法錯誤。你能修復它們並將我們鏈接到jsfiddle.net上的一個測試用例來證明這個問題嗎? – 2011-04-20 11:30:39

+0

錯字1上面固定的一個 – theJava 2011-04-20 11:31:50

+0

不要在偵聽器中聲明值(刪除'var'),這樣兩個函數共享全局值。不是一個特別強大的戰略,但。 – RobG 2011-04-20 11:53:30

回答

0

由於RobG建議你可以使用一個全局變量(離開了var裏面的功能),但它會更好地使用參數:

addEventListener('GetPatientSearchValues', function() { 
    var value = 20; 
    value = FunctionName(value); 
    // use modified value here 
}); 

Function FunctionName(v); 
{ 
    v = v + 1; 
    return v; 
}