我在圣诞节那天试图让它“下雪”时遇到了一些麻烦。我想出了如何抓住这一天,但我不确定如何正确地调用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();
答案 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)
}