为什么这些javascript表达式会意外地工作
有一些javascript语法,我不明白它们为什么会起作用 一, 二, 三,为什么这些javascript表达式会意外地工作,javascript,syntax,Javascript,Syntax,有一些javascript语法,我不明白它们为什么会起作用 一, 二, 三, 在所有这些情况下,将对比较运算符左侧和右侧的对象执行参考检查。这将返回false,因为虽然它们看起来相同,但实际上是不同的实例。第一个和第三个:无法将数组和对象与=进行比较。第二:自动插入分号。保存为#2(参见Tushar的评论) ({} === {}) // returns false function foo() { return { foo: 'bar'
在所有这些情况下,将对比较运算符左侧和右侧的对象执行参考检查。这将返回false,因为虽然它们看起来相同,但实际上是不同的实例。第一个和第三个:无法将数组和对象与
=
进行比较。第二:自动插入分号。保存为#2(参见Tushar的评论)
({} === {}) // returns false
function foo() {
return
{
foo: 'bar'
}
}
function bar() {
return {
foo: 'bar'
}
}
(typeof foo() === typeof bar()) //return false again
([1,2,3] == [1,2,3]); //very interesting false again