在JavaScript中,“==”和“===”的区别是要视数据类型而定的:
-
对于string/number等基础数据类型,是有区别的,即不同类型之间的比较,“==”会转化为相同的数据类型再进行比较;如果“===”两边的数据类型不一致,那么就表示不一致,不会进行数据类型的转换。相同数据类型的值进行比较,“==”和“===”的作用是一样的。
-
对于Array/Object等高级数据类型,“==”和“===”是没有区别的,当一个Array类型的数据和一个Object类型的数据进行比较的时候“==”和“===”功能一样,因为是进行指针地址的比较。
-
综上所述,对于基础数据类型,“==”和“===”才会有区别。
本文转自 棋帅小七 51CTO博客,原文链接:http://blog.51cto.com/xvjunjie/2060823