在jQuery中,可以創建一個函數來設置一個變量,然後我可以在另一個函數中訪問該變量。即我需要一個全局變量,可以訪問頁面上的任何地方。jquery中的全局變量
例子
$.fn.getRedemptionID = function(){
var myVar = data.DATA[0].item1;
}
在jQuery中,可以創建一個函數來設置一個變量,然後我可以在另一個函數中訪問該變量。即我需要一個全局變量,可以訪問頁面上的任何地方。jquery中的全局變量
例子
$.fn.getRedemptionID = function(){
var myVar = data.DATA[0].item1;
}
1)全局變量是壞的。
2)是:
// explicit global (preferred)
$.fn.getRedemptionID = function(){
window.myVar = data.DATA[0].item1;
}
// implicit global
$.fn.getRedemptionID = function(){
myVar = data.DATA[0].item1;
}
全局變量不好<爲什麼? – Prometheus
@Spike我會允許有人比我更聰明地回答:http://blogger.ziesemer.com/2007/10/respecting-javascript-global-namespace.html – jbabey
@Spike:因爲它太容易了有不同的圖書館和使用相同的名稱,如果他們都是全球性的,他們會衝突。更糟的是,由此產生的錯誤是一個*噩夢*,因爲它們依賴於兩個被認爲是獨立的東西的相互作用。 – KRyan
只是這樣做:
var myGlobalVar = null;
$.fn.getRedemptionID = function(){
myGlobalVar = data.DATA[0].item1;
}
然後你就可以隨時隨地訪問myGlobalVar :)
jQuery的仍然是JavaScript和仍然可以像JavaScript使用。即如果你在任何塊之外聲明瞭某些東西,它就是全局的,可以在任何地方訪問。
E.g.
var global = 42;
$(document).ready(function() {
global = $('#something').val();
});
一個更好的辦法是使用關閉,以節省通過以下方式您的變量值:
var application = (function(){
var my_var;
return {
get_var: function(){
return my_var;
},
set_var: function(value){
my_var = value;
}
}
})();
application.set_var(34);
application.get_var;
這比使用全局變量更好。
定義你的變量超出函數的範圍,它是全局的。 – undefined