3.實現一個函式clone 可以對Javascript中的五種主要資料型別(Number、string、Object、Array、Boolean)進行復制
阿新 • • 發佈:2020-08-09
實現一個函式CLONE 可以對JAVASCRIPT中的五種主要資料型別(NUMBER、STRING、OBJECT、ARRAY、BOOLEAN)進行復制
function clone(obj) { var o; switch (typeof obj) { case "undefined": break; case "string": o = obj + ""; break; case "number": o = obj - 0; break; case "boolean": o = obj; break; case "object": // object 分為兩種情況 物件(Object)或陣列(Array) if (obj === null) { o = null; } else { if (Object.prototype.toString.call(obj).slice(8, -1) === "Array") { o = []; for (var i = 0; i < obj.length; i++) { o.push(clone(obj[i])); } } else { o = {}; for (var k in obj) { o[k] = clone(obj[k]); } } } break; default: o = obj; break; } return o; }