2013-10-30 55 views
4

我有一個JavaScript腳本,它在html頁面中被多次調用。我想知道如何僅在腳本的第一次調用時將值賦給變量。不重新分配變量重載腳本

var processingYear = 0; 
var recupMonth = 0; 
var recupYear = 0; 


if(processingMonth == startMonth && processingYear == startYear && recupMonth == 0 && recupYear == 0){ 
      recupMonth = startMonth; 
      recupYear = startYear; 
     } 
+1

即使是一次又一次地調用聲明? –

+1

你應該只包含腳本一次,並使用函數。 – SLaks

回答

3

如果我正確理解你想在同一個HTML頁面多次包括相同的腳本。爲了防止腳本覆蓋你的初始化,您可以簡單地檢查這些變量的值重新定義他們面前:

相反的:

var x = 2; 

務必:

var x = (x !== undefined) ? x : 2; 

一個較短的版本將是var x = x || 2;,但如果您的x變量在腳本執行後保留一個值爲false(例如0)的值,則可能會逆轉。

3
var processingYear = processingYear || 0; 
+1

它應該是'var processingYear = processingYear || 0;' – Tibos

+0

好點,更新後:) –

+0

@Tibos按位OR('|')應該也可以,但只能在'Number'類型。 – azz

0
window.count ? count="defined" : count="undefined"; 
if(count=="undefined"){ 
    var processingYear = 0; 
    var recupMonth = 0; 
    var recupYear = 0; 
} 

只是另一種方式!