1. 基礎類型有哪些?復雜類型有哪些?有什么特征?
- 基礎類型:number,string,boolean,null,undefined;
- 復雜類型: 對象;數組;函數,正則;
- 基礎類型特征:指的是保存在棧內存中的簡單數據段;
-復雜類型的特征:指的是那些保存在堆內存中的對象,變量中保存的實際上只是一個指針,這個指針執行內存中的另一個位置,由該位置保存對象;
2. 如下代碼的輸出? 為什么?
0_1481639634771_QQ截圖20161213223342.jpg
console.log(obj1 == obj2);//false,此為比較語句,obj1和obj2是指向不同地址的2個變量。
console.log(obj1 = obj2);//{a:1, b:2},此為賦值語句,將obj2賦值給obj1,實際上也就是將obj2的地址賦值給obj1。
console.log(obj1 == obj2);//true,此為比較語句,由于經過賦值,obj1和obj2此時已經指向同一個地址。
代碼
1. 寫一個函數getIntv,獲取從當前時間到指定日期的間隔時間
0_1481643031197_QQ截圖20161213232846.jpg
2. 把數字日期改成中文日期
0_1481787715528_QQ截圖20161215154139.jpg
3. 寫一個函數獲取n天前的日期
0_1481788457633_QQ截圖20161215155357.jpg
4. 完善如下代碼,用于獲取執行時間如:
0_1481789224894_QQ截圖20161215160648.jpg
5. 樓梯有20級,每次走1級或是2級,從底走到頂一共有多少種走法?用代碼(遞歸)實現
0_1481792663337_QQ截圖20161215170410.jpg
假設從底走到第n級的走法有f(n)種, 走到第n級 有兩個方法, 一個是從第(n-1)級走1步,
另一個是從第(n- 2)級走2步, 前者有f(n-1)種方法,
后者有f(n-2)種方法, 所 以f(n)=f(n-1)+f(n-2), 另外f(0)=1, f(1)=1
6.寫一個json對象深拷貝的方法,json對象可以多層嵌套,值可以是字符串、數字、布爾、json對象中的任意項(PS:嘗試另外一種方法 var obj2 = JSON.parse( JSON.stringify(obj1) )
var obj1 = {
a: "hello",
b: {
a: "world",
b: 21
},
c: ["Bob", "Tom", "Jenny"],
d: function() {
alert("hello world");
}
};
function copy(obj){
var obj2=JSON.parse(JSON.stringify(obj));
//先把obj指向的對象轉化為字符串,此時的obj指向的對象不變,再把obj字符串轉化為一個對象,這個對象和obj指向的對象不是同一個對象
return obj2
}
var re=copy(obj1);
//方法二
function copy2(obj,c){
var c =c||{};
for(var key in obj){
if(typeof obj[key]==='object'){
c[key]=(obj[key].constructor===Array)?[]:{};
copy2(obj[key],c[key]);
}else{
c[key]=obj[key];
}
}
return c
}
var re2=copy2(obj1);
版權歸饑人谷--楠柒所有如有轉載請注明出處謝謝