变量的复制基本类型值的时候,两者是单独存在的。
变量在复制引用类型值的时候,两者都指向同一个对象。复制的只是一个指针。
参数在传递的时候是按值传递的。将count 传入函数,因为是按值传递的,就相当于var num = count 可以这么理解
函数中,参数是引用类型的时候也是按值传递的。
如果是按引用传递的话,那么person.name和obj.name应该同时指向kevin 。
总结:
1、复制变量,其实就是创建另一个变量副本,和原变量没有关系。
2、引用类型的值是对象,会被保存在堆内存中。
3、包含引用类型的变量实际上包含的不是对象本身,而是指向该对象的指针。
4、从一个变形向另一个变量复制引用类型的值,复制的其实是指针,两个变量最终指向的都是同一个对象。
5、确定一个值的类型,可以用typeof操作符(不是函数!!!),确定一个值的引用类型可以用instanceof操作符(不是函数!!!)。
6、全局环境只能访问全局定义的变量和函数!!!局部环境可以访问他的父环境。