Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
chrome问题与javascript setDate_Javascript_Google Chrome - Fatal编程技术网

chrome问题与javascript setDate

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.

这个非常基本的脚本创建了3个用于页面的变量,即首选格式的今天日期、从今天起90天的日期和从今天起120天的日期

它在Firefox和IE上运行良好,但在Chrome中,这些变量显示为“未定义”,控制台输出如下:
“未捕获的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上测试过——它确实有效。这是一个很棒的网站,谢谢。那么,是什么导致了我的工作现场出现问题????