正如標題所說,我在.JS文件中有一段Javascript代碼。在這裏我調用一個單獨的ASCX文件中的一個函數來更改x變量。Javascript代碼塊完成之前它得到一個被調用函數的結果?我錯過了什麼?
$('#button').bind('click', function (event) {
Function();
if(x == true){do something}
if(x == false){do something else}
});
在ASCX文件我也有變量和函數:
var x;
function Function(){
if(y > 100)
x = true
if(y < 100)
x = false
}
我預計,如果單擊該按鈕,該功能將執行(這確實),變量會根據條件而改變(也發生這種情況)。但是,代碼使用代碼運行前的x值。
因此,如果在點擊按鈕之前x是真實的,並且會點擊按鈕,那麼即使y的條件實際上應該將x評估爲假,結果也總會被評估爲真。
我不知道爲什麼會發生這種情況。不幸的是,合併這些文件使得函數和調用都在同一個位置。任何投入將不勝感激。
親切的問候,羅布
那麼,什麼是'y'? – epascarello
Ray說,你的y值是多少?沒有y值,你的x永遠不會被更新。你提到它是兩個獨立的文件,這兩個文件都可以訪問x和y嗎?另外,請不要調用你的函數的'Function',否則你冒險覆寫東西。 – Shilly