一:什么是基本类型和引用类型值
1. 基本类型值指的是简单的数据段
2. 引用类型指那些可能有多个值组成的对象
3. 在赋值变量时,解析器必须确定这个是基本类型值还是引用类型值
4. 有5种基本数据类型:Underfined,Null,Boolean,Unmber和String。这5种可以直接操作保存在变量种的实际值。
5. 引用类型的值保存在内存的对象中,javascript不允许直接访问内存中的位置。操作对象时,实际操作的是对象的引用而不是实际对象。因此,引用类型的值是引用访问的。
二:动态属性
1. 定义基本类型值和引用类型值方式类似:创建一个变量然后赋值。
2. 引用类型我可以添加属性和方法:
var parson = new object();
parson.name = ’Nicholes‘;
3. 基本类型不能添加属性,这样做不会报错,但是调用时返回underfined
4. 只有引用类型可以动态的添加属性
三: 复制变量值
1. 基本类型值和引用类型值的保存方式之外,一个变量向另一个变量复制值时也存在不同。
2. 基本类型复制:一个变量向另一个变量复制时。会在变量上创建一个新值,然后把该值复制到为新变量分配的位置上
3. 引用类型复制:一个变量向另一个变量复制时,复制的实际是一个指针,而这个指针指向存储在堆中的一个对象,复制完,两个变量引用的是一个对象
四. 传递参数
函数的参数的都是按值传递的,把函数外面的值复制给函数内部的参数,,就是把一个变量复制给另一个变量一样。
五. 检测类型
1. typeof操作是确定一个变量是字符串,数值,还是undefined的最佳工具。变量为对象,null返回”object“
var s = ”Nicholas“;
alert(typeof s) //string
2. instanceof检测一个引用类型和object构造函数时,返回true;检测基本类型放回false。
alert(person instanceof Object)//变量person是Object吗?
原文地址:https://www.cnblogs.com/renshijie/p/9206762.html