Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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
Javascript 为什么date变量不是date的instanceof,即使构造函数是date_Javascript - Fatal编程技术网

Javascript 为什么date变量不是date的instanceof,即使构造函数是date

Javascript 为什么date变量不是date的instanceof,即使构造函数是date,javascript,Javascript,挠头想弄明白为什么myDate不是日期的实例 有人能解释一下吗?我还可以尝试其他调试方法吗 //在其他模块中定义 myDate=新日期(); //console.log输出: console.log(myDate);//2019-11-17T05:00:00.000Z console.log(myDate的类型);//对象✅ console.log(对象的myDate实例);//真的✅ console.log(myDate.constructor);//[职能:日期]✅ console.log

挠头想弄明白为什么
myDate
不是日期的
实例

有人能解释一下吗?我还可以尝试其他调试方法吗

//在其他模块中定义
myDate=新日期();
//console.log输出:
console.log(myDate);//2019-11-17T05:00:00.000Z
console.log(myDate的类型);//对象✅
console.log(对象的myDate实例);//真的✅
console.log(myDate.constructor);//[职能:日期]✅

console.log(myDate instanceof Date);//false罪魁祸首是这发生在一个测试套件中,该套件试图模拟或覆盖全局日期对象

global.Date=类扩展日期{
构造函数(){
超级();
返回常量;
}
};

因此出现了奇怪的行为。

您使用的是什么浏览器/运行时?当使用最新的Chrome时,我得到以下结果<代码>myDate=新日期();myDate instanceof Date//true
我已经用一个片段替换了您的示例,该片段显示了预期的行为(
myDate instanceof Date===true
)。你必须添加更多关于你的设置的信息。在这个问题上有很多讨论:是的,当我在我的设置之外尝试时,我也会得到预期的结果。希望这是件愚蠢的事。我必须看看我是否能找出一个我的设置的最小测试示例。“在其他模块中定义”到底是什么意思?您使用的是什么类型的模块,它们是如何加载的,是否有可能在不同的领域中运行?顺便说一句,即使
myDate.constructor.name==“Date”
我打赌
myDate.constructor!=日期