1.引用類型有哪些侧馅?非引用類型有哪些
基本類型值(數(shù)值、字符串呐萌、布爾值馁痴、null和undefined):指的是保存在棧內(nèi)存中的簡(jiǎn)單數(shù)據(jù)段;
引用類型值(對(duì)象肺孤、數(shù)組罗晕、函數(shù)、正則):指的是那些保存在堆內(nèi)存中的對(duì)象赠堵,變量中保存的實(shí)際上只是一個(gè)指針攀例,這個(gè)指針執(zhí)行內(nèi)存中的另一個(gè)位置,由該位置保存對(duì)象
2顾腊、
console.log(obj1 == obj2);輸出:false,obj1和obj2分別是指一個(gè)指針挖胃,指向不同的地址
console.log(obj1 = obj2);輸出:object{a:1,b=2}將obj2賦值給obj1
console.log(obj1 == obj2);輸出:true經(jīng)過(guò)obj1 = obj2后杂靶,兩個(gè)指向相同的地址
3、
4酱鸭、
5吗垮、
6、
7凹髓、
方法一:
function deepCopy(obj){
var newObj={};
for(key in obj){
if(typeof obj[key]==="number" || typeof obj[key]==="string" || typeof obj[key]==="boolean"
|| obj[key]===undefined || obj[key]===null){
newObj[key]=obj[key];
}
else{
newObj[key]=deepCopy(obj[key]);
}
}
return newObj;
方法二:
function deepCopy(obj){
var newObj={};
var newArr=[];
newArr=JSON.stringify(obj);
newObj=JSON.parse(newArr);
return newObj;
}