在圣诞节那天打电话给一个功能

时间:2011-12-25 22:33:36

标签: javascript

我在圣诞节那天试图让它“下雪”时遇到了一些麻烦。我想出了如何抓住这一天,但我不确定如何正确地调用SnowStorm()。

var christmas = {
  month: 11,
  date: 25
}

function isItChristmas() {
  var now = new Date();
  var isChristmas = (now.getMonth() == christmas.month && now.getDate() == christmas.date);

if (isChristmas)
    return ;
  else
    return ;
}

var snowStorm = null;

function SnowStorm() {
    (snowstorm code)

}

snowStorm = new SnowStorm();

3 个答案:

答案 0 :(得分:1)

如果您打算创建一个函数(不是类),这是版本:

var christmas = {
  month: 11,
  date: 25
}

function isItChristmas() {
  var now = new Date();
  return (now.getMonth() == christmas.month && now.getDate() == christmas.date);
}

if (isItChristmas()){
    SnowStorm();
  }else{
    //not a christmas
}

function SnowStorm() {
    (snowstorm code)
}

如果你打算上课,那就是这个:

var christmas = {
  month: 11,
  date: 25
}

function isItChristmas() {
  var now = new Date();
  return (now.getMonth() == christmas.month && now.getDate() == christmas.date);
}

var storm = new SnowStorm();

if (isItChristmas()){
    storm.Snow();
  }else{
    //not a christmas
}

function SnowStorm() {
    this.Snow = function(){
        (snowstorm code)
    }
}

答案 1 :(得分:0)

您需要从isItChristmas函数返回一个布尔值:

function isItChristmas() {
   var now = new Date();
   return (now.getMonth() + 1 == christmas.month && 
           now.getDate() == christmas.date);
}

然后调用它:

function SnowStorm() {
    if (isItChristmas()) {
        // your snowstorm code here
        // that will execute only on Christmas
    }
}

顺便提一下,您会注意到.getMonth()方法将月份从0返回到11,因此您需要添加1,如我的示例所示,否则您的代码将在11月25日运行。

答案 2 :(得分:0)

首先,你没有在isItChristmas函数上返回任何内容。 其次,在SnowStorm函数中添加

if (isItChristmas) {
    (your code here)
}