两种类型:函数
1. ECMAScript变量包含两种不一样类型的值:基本类型值、引用类型值;工具
2. 基本类型值:指的是保存在栈内存中的简单数据段;指针
3. 引用类型值:指的是那些保存在堆内存中的对象,意思是,变量中保存的实际上只是一个指针,这个指针执行内存中的另外一个位置,由该位置保存对象;对象
两种访问方式:ip
4. 基本类型值:按值访问,操做的是他们实际保存的值;内存
5. 引用类型值:按引用访问,当查询时,咱们须要先从栈中读取内存地址,而后再顺藤摸瓜地找到保存在堆内存中的值;变量
两种类型复制object
1. 基本类型变量的复制:从一个变量向一个变量复制时,会在栈中建立一个新值,而后把值复制到为新变量分配的位置上;引用
1. 引用类型变量的复制:复制的是存储在栈中的指针,将指针复制到栈中未新变量分配的空间中,而这个指针副本和原指针执行存储在堆中的同一个对象;数据
2. 复制操做结束后,两个变量实际上将引用同一个对象;所以改变其中的一个,将影响另外一个;
函数参数的传递:
1. ECMA中全部函数的参数都是按值传递的;
两种变量类型检测
1. Typeof操做符是检测基本类型的最佳工具;
2. 若是变量值是nul或者对象,typeof 将返回“object”;
3. Instanceof用于检测引用类型,能够检测到具体的,它是什么类型的实例;
4. 若是变量是给定引用类型的实例,instanceof操做符会返回true;