gpt4 book ai didi

Javascript 字符串相等

转载 作者:行者123 更新时间:2023-11-30 13:07:38 26 4
gpt4 key购买 nike

每个元素包含相同的值。当自己对照这个值检查时,一切都会检查出来。但是当相互比较时,它们并不相等。帮助!谢谢!

time[x] == "2013-02-26 14:00:00"   ?

正确

reference[x] == "2013-02-26 14:00:00"  ?

正确

time[x] == reference[x]  ?

错误

time[x].valueOf() == reference[x].valueOf()  ?

错误

最佳答案

这可能是因为两个变量的类型不同。

如果其中一个变量包含一个 Date 实例,另一个变量包含一个 String,将它们与字符串文字进行比较将返回 true,同时比较它们的 valueOf() 结果将返回 false,因为 DatevalueOf() 返回自纪元以来的毫秒数,而不是人类可读的日期表示(相对于 toString())。

var a = new Date()
a.toString() //"Wed Feb 27 2013 01:41:51 GMT+0300 (MSK)"
a.valueOf() //1361918511306

var b = "Wed Feb 27 2013 01:41:51 GMT+0300 (MSK)"
b.toString() //"Wed Feb 27 2013 01:41:51 GMT+0300 (MSK)"
b.valueOf() //"Wed Feb 27 2013 01:41:51 GMT+0300 (MSK)"

a == "Wed Feb 27 2013 01:41:51 GMT+0300 (MSK)" //true
b == "Wed Feb 27 2013 01:41:51 GMT+0300 (MSK)" //true
a == b //true
a === b //false - types are being compared as well
a.valueOf() == b.valueOf() //false - 1361918511306 compared to "Wed Feb 27 2013 01:41:51 GMT+0300 (MSK)"

关于Javascript 字符串相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15099599/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com