2013-07-03 145 views
1

我顯示昨天的日期與此幫助下面的代碼,這一切工作正常,但我的要求是,我需要顯示變量昨天作爲全球性的,因爲我要爲其他目的使用還如何在這種情況下使全局變量?

變量
<!DOCTYPE html> 
<html> 
<head> 
<script> 
function displayDate() 
{ 
var d = new Date(); 
d.setDate(d.getDate() - 1); 
var curr_date = d.getDate(); 
var curr_month = d.getMonth() + 1; 
var curr_year = d.getFullYear(); 
var yesterday = curr_year + "-" + curr_month + "-" + curr_date; 
alert('The value after modifications is'+yesterday) 
} 
</script> 
</head> 
<body> 
<p id="demo">New Modifications FOR Click Button to Display Yesterday Date</p> 
<button type="button" onclick="displayDate()">Display Date</button> 
</body> 
</html> 

請告訴我如何在這個例子中顯示變量昨天作爲全局,在此先感謝。

回答

6

簡單。像這樣:

var yesterday; 
function displayDate() 
{ 
    var d = new Date(); 
    d.setDate(d.getDate() - 1); 
    var curr_date = d.getDate(); 
    var curr_month = d.getMonth() + 1; 
    var curr_year = d.getFullYear(); 
    yesterday = curr_year + "-" + curr_month + "-" + curr_date; 
    alert('The value after modifications is'+yesterday) 
} 

雖然你應該閱讀一些關於JS的教程。

0
<script> 
var yesterday; 
function displayDate() 
{ 
........... 
} 
</script> 

FYI:具有前綴var,使變量全球。

參考一些javascript教程

+1

「通過讓前綴var使變量全局」 - 這是誤導和不正確的。 –

0

基本上有兩種方法。

您可以不要將它聲明爲函數內的變量。然後,它會作爲一個全局變量,當你使用它來創建:

function displayDate() 
{ 
... 
    yesterday = curr_year + "-" + curr_month + "-" + curr_date; 
... 
} 

,顯示意圖更加清晰的一種方式,是將其聲明爲函數外的變量:

var yesterday; 

function displayDate() 
{ 
... 
    yesterday = curr_year + "-" + curr_month + "-" + curr_date; 
... 
} 

爲了完整,我想提一下第三種可能的方法。您也可以將其創建爲window對象的屬性。因爲這是在全球範圍內,物業工作作爲全局變量在幾乎所有方面:

function displayDate() 
{ 
... 
    window.yesterday = curr_year + "-" + curr_month + "-" + curr_date; 
... 
} 
+0

除嚴格模式下的第一個無效外。也許使用'window.yesterday = ...'代替? – Ian

+0

@Ian:是的,但它看起來不像是使用嚴格模式。無論如何,我已經添加了使用'window'屬性而不是全局變量的選項。 – Guffa

+0

當然,我只是想我會指出這一點(並不是試圖對你或任何事情大吼)。我認爲使用'window'將會是一個更安全,更全面的方式,因爲它可以在嚴格模式和非嚴格模式下工作 – Ian

0

你甚至可以是複雜的,但在一個不錯的方式,我認爲:

<!DOCTYPE html> 
<html> 
<head> 
<script> 

function getYesterDay(values) 
{ 
    if(values) 
     getYesterDay.date = values; 
    else 
     return getYesterDay.date; 
} 
function displayDate() 
{ 
    var d = new Date(); 
    d.setDate(d.getDate() - 1); 
    var curr_date = d.getDate(); 
    var curr_month = d.getMonth() + 1; 
    var curr_year = d.getFullYear(); 
    getYesterDay(curr_year + "-" + curr_month + "-" + curr_date); 
    alert('The value after modifications is'+getYesterDay()) 
} 
</script> 
</head> 
<body> 
<p id="demo">New Modifications FOR Click Button to Display Yesterday Date</p> 
<button type="button" onclick="displayDate()">Display Date</button> 
</body> 
</html> 

使用getYesterDay()函數設置或獲取任何你想要的日期。

相關問題