我試圖使用fingerprintjs2 javascript庫來獲取瀏覽器指紋。Javascript中函數參數的返回值
下面的代碼工作正常:
new Fingerprint2().get(function (result) {
var output = result;
document.write(output);
});
不過,我想設置此塊的變量外,稍後用於例如:
var output;
new Fingerprint2().get(function (result) {
output = result;
});
document.write(output);
但在這種情況下,我得到輸出:
undefined
我猜這是與範圍有關,所以有什麼辦法來設置變量在t他外部的範圍,還是我需要把這個函數調用內的所有以下代碼?
我讀過關於獲取嵌套函數的值的其他問題,但在這種情況下似乎沒有任何工作。
「與範圍有關」 - 不,這是因爲在執行'output = result;'之前調用'document.write(output);' – Igor
它是未定義的,因爲'document.write(output);'回調 –
get調用異步運行,所以''.get()'調用仍在運行時調用'document.write(output)'。 – theClap