变量、作用域与内存

变量的复制基本类型值的时候,两者是单独存在的。

变量在复制引用类型值的时候,两者都指向同一个对象。复制的只是一个指针。

 

参数在传递的时候是按值传递的。将count 传入函数,因为是按值传递的,就相当于var num = count  可以这么理解

函数中,参数是引用类型的时候也是按值传递的。

如果是按引用传递的话,那么person.name和obj.name应该同时指向kevin 。

总结:

1、复制变量,其实就是创建另一个变量副本,和原变量没有关系。

2、引用类型的值是对象,会被保存在堆内存中。

3、包含引用类型的变量实际上包含的不是对象本身,而是指向该对象的指针。

4、从一个变形向另一个变量复制引用类型的值,复制的其实是指针,两个变量最终指向的都是同一个对象。

5、确定一个值的类型,可以用typeof操作符(不是函数!!!),确定一个值的引用类型可以用instanceof操作符(不是函数!!!)。

6、全局环境只能访问全局定义的变量和函数!!!局部环境可以访问他的父环境。

原文地址:https://www.cnblogs.com/vivenZ/p/6424868.html