1.js数据类型
基本数据类型:Number、String、Boolean、Null、 Undefined、Symbol(ES6),
引用数据类型:Object(在JS中除了基本数据类型以外都是对象)
2.typeof操作符检测变量的数据类型
var a = 1;
console.log(typeof a) //number
var b = 'hello world';
console.log(typeof b); //string
var c = true;
console.log(typeof c); //boolean
var d = undefined;
console.log(typeof d); //undefined
var e = null;
console.log(typeof e); //object
//null类型进行typeof操作符后,结果是object,原因是,null类型被当做一个空对象引用
var f = [];
console.log(typeof f); //object
var g = {};
console.log(typeof g); //object
var h = function(){
console.log('i am function');
};
console.log(typeof h); //function
3.深拷贝
function deepCopy(obj) {
var result = Array.isArray(obj) ? [] : {};
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
if (typeof obj[key] === 'object' && obj[key]!==null) {
result[key] = deepCopy(obj[key]);
} else {
result[key] = obj[key];
}
}
}
return result;
}