js的 == 和 ===的区别

1、对于string,number等基础类型,==和===是有区别的
  不同类型间比较,==之比较转化成同一类型后的值看是否相等,===如果类型不同,其结果就是不等,同类型比较,直接进行“值”比较,两者结果一样
function test(){
        //string == number 值得比较
        if('1'==1){
            console.log('string == number is true');
        }
        //string === number 类型先比较,后值比较
        if('1' === 1){
            console.log('1')
        }else{
            console.log('2')
        }
        if(1===1){
            console.log('3');
        }
        //输出
        //string == number is true
        //2
        //3

    }

 

2、对于Array,Object等高级类型,==和===是没有区别的
  进行“指针地址”比较
3、基础类型与高级类型,==和===是有区别的
  对于==,将高级转化为基础类型,进行“值”比较,因为类型不同,===结果为false
posted @ 2017-05-31 16:43  鹰语jyf  阅读(208)  评论(0编辑  收藏  举报