2013-06-04 66 views
0

我一直在努力將JavaScript函數轉換爲全局變量。將JavaScript函數轉換爲全局變量

我總共有2個文件,基本上是整個函數的一部分,這裏是JavaScript函數。

<script type="text/javascript"> 
$.get("banner1.php", function(getbannerlink1) { 
$("#banner1").load(getbannerlink1+ " #productImage"); 
// var window.bannerlink1=getbannerlink1; (this doesn't want to work) 
}); 
<script> 

基本上,banner1.php從數組中選擇一個隨機URL並回顯URL。然後這個JavaScript獲取URL,然後執行該URL的.load()函數,並從該URL獲取#productImage類,基本上它從隨機URL獲取產品圖像。這一切都很好。現在我需要將getbannerlink1變量轉換爲全局變量,因爲我想使用該函數以外的鏈接。

我已經嘗試使用下面剛剛閉幕的函數之前:

var window.bannerlink1=getbannerlink1; 

但這僅僅是破壞功能乾脆:/

我在做什麼錯?

回答

2

var window.bannerlink1是一個語法錯誤。 var只能與可能不包含句點的變量標識符一起使用。

想要設置window的屬性,而不是聲明新的變量名稱,因此只需刪除var即可。

+0

謝謝,我試過了,並且使用: document.write(bannerlink1); 在同一個HTML頁面的其他地方輸出,但是這絕對沒有返回結果,現在函數並沒有被銷燬。但由於某種原因,該變量似乎是空的... – StuyvesantBlue

+0

@ user2255785您正試圖在回調運行之前使用該值。請參閱** [如何從AJAX調用返回響應?](http://stackoverflow.com/q/14220321/710446)**獲取完整說明和解決方案。 – apsillers

+0

謝謝你,全部清理出來 - 我(顯然)非常業餘。 – StuyvesantBlue

2

下降了var

window.bannerlink1 = getbannerlink1; 

理想情況下,你會避免使用大量的全局和使用全局命名空間來保存值。