什么是值类型、引用类型?
JavaScript中的原始类型:Undefined、Null、Boolean、Number 和 String。
另外,根据变量值传递的方式,我们又可以将数据区分为“值类型”和“引用类型”.
值类型:将一个值类型变量赋给另一个值类型变量时,将复制包含的值
JavaScript中原始类型都属于值类型(string, number, boolean, null, undefined).
引用类型:对象(Object)、数组(Array)、函数(Function)
在传递和赋值时, 数据将自身的引用(又叫“地址”、“指针”)给对方.
注意项:
1:对于基本数据类型和引用数据类型在内存中存放的是值还是指针这一区别是否清楚
2:判断一个变量是什么类型的
3:递归算法的设计
Object.prototype.clone = function(){ //给对象原型添加一个clone函数
var o = this.constructor === Array ? [] : {}; //判断传入的对象是数组类型的对象,还是其它类型的对象
for(var e in this){
o[e] = typeof this[e] === "object" ? this[e].clone() : this[e]; //判断传入的值是否为对象,是的话再调用自身clone(),否则直接赋值
}
return o;
}