【问题标题】:Why These javascript expressions works unexpectedly [duplicate]为什么这些javascript表达式意外工作[重复]
【发布时间】:2017-06-05 09:00:37
【问题描述】:

有一些 javascript 语法,我不明白它们为什么起作用。

1.

({} === {}) // returns false 

2.

function foo() {
       return
       {
          foo: 'bar'
       }
    }

    function bar() {
       return {
          foo: 'bar'
       }
    }

(typeof foo() === typeof bar()) //return false again

3.

([1,2,3] == [1,2,3]); //very interesting false again

【问题讨论】:

标签: javascript syntax


【解决方案1】:

在所有这些情况下,都会对比较运算符左侧和右侧的对象执行引用检查。这将返回 false,因为尽管它们看起来相同,但它们实际上是不同的实例。

【讨论】:

  • 保存 #2(参见 Tushar 的评论)
猜你喜欢
  • 2010-10-10
  • 1970-01-01
  • 2015-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多