2013-07-03 94 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()函数设置或获取任何你想要的日期。

相关问题