基本类型和引用类型基本类型按值访问,可以操作保存在变量中实际的值基本类型存在栈内存当基本类型调用对象的方法时,不会起效,底层会有一个叫包装对象酷炫操作,效果是…不报错引用类型复制:操作的是对象的引用添加属性:操作的是实际的对象引用类型数据存在堆内存,而引用存在栈区,也就是说引用类型同时保存在栈区和堆区引用类型的比较是比较引用==的类型转换关于==的执行机制,ECMASript有规范,因为==前后的值交换顺序,返回的值也是一样的,所以在此对规范做出如下总结两者类型相等的话,返回 ===的结果,===不存在类型转换——所以一下都是不相等的情况——–null 和 undefined 相等 反过来也一样一个是String,另一个是number,把string转化为number 然后在做 ==只要有一个类型是boolean,把boolean转化为number 然后在做 ==一个是number或者string,另外一个是对象,把对象转化为原始类型 然后在做 ==两者都是引用类型,看是不是同一个引用如果以上情况都不是,返回false引用转原始类型优先调用valueOf方法(如果有),有原始值返回,结束否则,调用toString方法(如果有)其他报错。总之,类型不相等的情况下,引用类型一顿转换变成原始类型,原始类型一顿转换变成number类型例1[] == false类型不相等,往下走发现有一个是boolean -> [] == 0发现一个是对象 -> ’’ == 0一个是string,一个是number -> 0 == 0返回 true例2false == undefined第4条 0 == undefined然后哪条都不是,只好返回false