[英]In JavaScript, how can I pass value from unnamed function to another unnamed function?
我有兩個功能,其中一個檢查圖像是否加載:
var img = document.createElement('img');
img.src = "xxx";
img.onload = function() {
var dimensionValue = 'loaded';
};
img.onerror = function() {
var dimensionValue = 'failed';
}
當用戶單擊按鈕時,將執行后續函數,如下所示:
var trackClick = function(url) {
console.log(dimensionValue);
};
我想記錄的值dimensionValue
在點trackClick
函數被調用(從a
鏈接)。 但是,盡管第一個函數成功打印出了DimensionValue,但是當觸發第二個函數時,它不包含任何值,或者無法指示該dimensionValue
不存在。
我還嘗試將trackClick
放在onload
/ onerror
函數中,但是隨后顯示一條消息,通知您沒有名為trackClick
函數
因此,我的問題是如何在JS中將一個未命名函數的值傳遞給另一個匿名函數?
您的變量可能無法被其他函數訪問,因為它是在另一個函數中定義的。
嘗試:
var dimensionValue;
var img = document.createElement('img');
img.src = "xxx";
img.onload = function() {
dimensionValue = 'loaded';
};
img.onerror = function() {
dimensionValue = 'failed';
}
我認為您也可以:
var trackClick = function(url) {
var img = document.createElement('img');
img.src = "xxx";
img.onload = function() {
console.log('loaded');
};
img.onerror = function() {
console.log('failed');
}
}
如果這不起作用,請發布所有代碼以獲取進一步的幫助。
通過在函數外部聲明dimensionValue
,可以擴展可以訪問它的范圍。 假設您的trackClick
函數在同一作用域內,那么它應該可以訪問dimensionValue
。
var dimensionValue
var img = document.createElement('img');
img.src = "xxx";
img.onload = function() {
dimensionValue = 'loaded';
};
img.onerror = function() {
dimensionValue = 'failed';
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.