chrome问题与javascript setDate
这个非常基本的脚本创建了3个用于页面的变量,即首选格式的今天日期、从今天起90天的日期和从今天起120天的日期 它在Firefox和IE上运行良好,但在Chrome中,这些变量显示为“未定义”,控制台输出如下:chrome问题与javascript setDate,javascript,google-chrome,Javascript,Google Chrome,这个非常基本的脚本创建了3个用于页面的变量,即首选格式的今天日期、从今天起90天的日期和从今天起120天的日期 它在Firefox和IE上运行良好,但在Chrome中,这些变量显示为“未定义”,控制台输出如下: “未捕获的TypeError:对象false没有方法'setDate'” 这是我的JavaScript var today = new Date(); var rg = (today.getMonth()+1) + "/" + today.getDate() + "/" + today.
“未捕获的TypeError:对象false没有方法'setDate'” 这是我的JavaScript
var today = new Date();
var rg = (today.getMonth()+1) + "/" + today.getDate() + "/" + today.getFullYear();
var closed = new Date();
closed.setDate(today.getDate()+90);
var cl = (closed.getMonth()+1) + "/" + closed.getDate() + "/" + closed.getFullYear();
var expire = new Date();
expire.setDate(today.getDate()+120);
var ex = (expire.getMonth()+1) + "/" + expire.getDate() + "/" + expire.getFullYear();
closed
是任何窗口
对象的保留名称。(请参阅)由于您在全局空间中运行此操作,因此所有变量都存储在窗口的下方,因此您正在与浏览器认为的窗口发生冲突。应关闭
只需更改var closed=new Date()代码>到一个新名称,或者按照@KingKongFrog的建议,通过闭包将其放入一个新范围。将其放入一个匿名函数中,然后重试
(function() {
var today = new Date();
var rg = (today.getMonth()+1) + "/" + today.getDate() + "/" + today.getFullYear();
var closed = new Date();
closed.setDate(today.getDate()+90);
var cl = (closed.getMonth()+1) + "/" + closed.getDate() + "/" + closed.getFullYear();
var expire = new Date();
expire.setDate(today.getDate()+120);
var ex = (expire.getMonth()+1) + "/" + expire.getDate() + "/" + expire.getFullYear();
})();
它似乎在铬合金中工作良好。如果它不适用于您,您使用的是什么版本的Chrome?“Uncaught TypeError:Object false没有方法“setDate”-哪一行?在Chrome中适用于我(在Mac OS和Windows上)。错误出现在第5行。因此,第一个变量实际上有效,但第二个和第三个变量无效。@Snuffleupagus——我也在jsfiddle上测试过——它确实有效。这是一个很棒的网站,谢谢。那么,是什么导致了我的工作现场出现问题????