0
有人可以向我解釋爲什麼這不起作用,並告訴我如何使它工作?我試過創建一個命名空間和IIFE功能,但我似乎無法得到它。
$(document).ready(function() {
alert (hi);
});
$(document).ready(function() {
var hi = "hello"
});
謝謝!
有人可以向我解釋爲什麼這不起作用,並告訴我如何使它工作?我試過創建一個命名空間和IIFE功能,但我似乎無法得到它。
$(document).ready(function() {
alert (hi);
});
$(document).ready(function() {
var hi = "hello"
});
謝謝!
當你這樣做:
$(document).ready(function() {
var hi = "hello"
});
你正在創建一個名爲hi
變量是局部的回調函數。它在該功能之外根本無法訪問。這是該語言的一個特點。
您可以在更高範圍內像這樣聲明變量:
var hi;
$(document).ready(function() {
hi = "hello"
});
而且,當時該變量的值將是可用的範圍之外,但你不一定知道當它得到正確的值因爲除非將代碼放入回調函數中,否則不會知道何時調用$(document).ready()
回調函數。
試圖在兩個調用$(document).ready()
之間共享一個變量是沒有意義的。它將使更多的意義,只是把代碼相同$(document).ready()
回調中:
$(document).ready(function() {
var hi = "hello"
alert (hi);
});
並不推薦
如果你要嘗試兩次調用之間共享變量$(document).ready()
(我沒有真正推薦,因爲它會讓你的代碼有些脆弱),它可以完成。回調$(document).ready()
將它們連接的順序進行調用,所以你將不得不適當地訂購的東西:
var hi;
$(document).ready(function() {
hi = "hello"
});
$(document).ready(function() {
alert (hi);
});
這將確保第一$(document).ready()
回調設置的hi
值將被第二前先叫一個你試圖使用的價值。
甜,這就是我想要投票。 – BlunderCode
@ jfriend00檢查 – BlunderCode