Javascript 在这种情况下,如何使变量成为全局变量?

Javascript 在这种情况下,如何使变量成为全局变量?,javascript,Javascript,我在下面代码的帮助下显示昨天的日期,所有这些都很好,但我的要求是我需要将变量昨天显示为全局变量,因为我还想将该变量用于其他目的 <!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.g

我在下面代码的帮助下显示昨天的日期,所有这些都很好,但我的要求是我需要将变量昨天显示为全局变量,因为我还想将该变量用于其他目的

<!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> 

函数displayDate()
{
var d=新日期();
d、 setDate(d.getDate()-1);
var curr_date=d.getDate();
var curr_month=d.getMonth()+1;
var curr_year=d.getFullYear();
昨日风险值=当前年份+“-”+当前月份+“-”+当前日期;
警报('修改后的值为'+昨天)
}
单击按钮显示昨天日期的新修改

显示日期
请告诉我如何在本例中将变量yesterdayday显示为全局变量,提前感谢。

简单。像这样:

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的教程。

简单。像这样:

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 )
 }
<script>
var yesterday;
function displayDate()
{
...........
}
</script>
不过,您应该阅读一些关于JS的教程。


<script>
var yesterday;
function displayDate()
{
...........
}
</script>
var昨天; 函数displayDate() { ........... }
FYI:通过使用前缀
var
使变量成为全局变量

请参阅一些javascript教程


var昨天;
函数displayDate()
{
...........
}
FYI:通过使用前缀
var
使变量成为全局变量


参考一些javascript教程,基本上有两种方法

您可以避免将其声明为函数内的变量。然后,当您使用它时,它将被创建为全局变量:

function displayDate()
{
...
  yesterday = curr_year + "-" + curr_month + "-" + curr_date;
...
}
更清楚地显示意图的一种方法是将其声明为函数外的变量:

var yesterday;

function displayDate()
{
...
  yesterday = curr_year + "-" + curr_month + "-" + curr_date;
...
}
为了完整起见,我想提到第三种可能的方法。您还可以将其创建为
窗口
对象的属性。由于这是全局范围,因此该属性在几乎所有方面都是全局变量:

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

基本上有两种方法

您可以避免将其声明为函数内的变量。然后,当您使用它时,它将被创建为全局变量:

function displayDate()
{
...
  yesterday = curr_year + "-" + curr_month + "-" + curr_date;
...
}
更清楚地显示意图的一种方法是将其声明为函数外的变量:

var yesterday;

function displayDate()
{
...
  yesterday = curr_year + "-" + curr_month + "-" + curr_date;
...
}
为了完整起见,我想提到第三种可能的方法。您还可以将其创建为
窗口
对象的属性。由于这是全局范围,因此该属性在几乎所有方面都是全局变量:

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

你甚至可以把它复杂化,但我认为:

<!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> 

函数getDayed(值)
{
如果(值)
getDate.date=值;
其他的
返回GetDate.date;
}
函数displayDate()
{
var d=新日期();
d、 setDate(d.getDate()-1);
var curr_date=d.getDate();
var curr_month=d.getMonth()+1;
var curr_year=d.getFullYear();
GetDayed(当前年份+“-”+当前月份+“-”+当前日期);
警报('修改后的值为'+GetDayed())
}
单击按钮显示昨天日期的新修改

显示日期

使用getDayed()函数设置或获取任意位置的日期。

您甚至可以将其复杂化,但我认为这是一种很好的方式:

<!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> 

函数getDayed(值)
{
如果(值)
getDate.date=值;
其他的
返回GetDate.date;
}
函数displayDate()
{
var d=新日期();
d、 setDate(d.getDate()-1);
var curr_date=d.getDate();
var curr_month=d.getMonth()+1;
var curr_year=d.getFullYear();
GetDayed(当前年份+“-”+当前月份+“-”+当前日期);
警报('修改后的值为'+GetDayed())
}
单击按钮显示昨天日期的新修改

显示日期

使用getDayed()函数设置或获取任意位置的日期。

在严格模式下,第一个日期无效。也许用
window.dayed=…
来代替?@Ian:是的,但op看起来没有使用严格模式。无论如何,我已经添加了使用
窗口
属性而不是全局变量的选项。当然,我只是想指出这一点(我不是想对你大喊大叫或其他什么)。我认为使用
window
是一种更安全、更全面的方法,因为它可以在严格模式和非严格模式下工作,但第一种模式在严格模式下无效。也许用
window.dayed=…
来代替?@Ian:是的,但op看起来没有使用严格模式。无论如何,我已经添加了使用
窗口
属性而不是全局变量的选项。当然,我只是想指出这一点(我不是想对你大喊大叫或其他什么)。我认为使用
window
将是一种更安全、更全面的方法,因为它可以在严格和非严格模式下工作,“通过使用前缀var使变量全局”——这是误导性和不正确的。“通过使用前缀var使变量全局”——这是误导性和不正确的。