Js前端面试题总结
2017-07-28 09:32
357 查看
实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括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':
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
j in
obj){
o[j]
= clone(obj[j]);
}
}
}
break;
default:
o
= obj;
break;
}
return
o;
}
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':
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
j in
obj){
o[j]
= clone(obj[j]);
}
}
}
break;
default:
o
= obj;
break;
}
return
o;
}
相关文章推荐
- 某一线互联网公司前端面试题js部分总结
- 前端面试题总结:HTML5,JS,CSS3,兼容性。
- js前端面试题总结及答案
- JS前端面试题-总结01
- 前端周报:前端面试题及答案总结;JavaScript参数传递的深入理解
- 2016年9月前端面试题总结
- 前端开发面试题总结之——CSS3
- 前端开发工具vue.js开发实践总结
- 一道常被人轻视的前端JS面试题
- 前端常见面试题总结---第四篇
- 一道JS前端闭包面试题解析
- 前端面试题总结 HTTP\浏览器篇 (一)
- 某一线互联网公司前端面试题总结css部分
- 前端之js方法总结
- 2016年全面前端面试题总结
- 前端面试题总结
- 前端使用console 进行 JS 调试技巧总结
- 前端面试题总结(一)
- 前端面试题总结------HTML与CSS篇
- 前端相关面试题总结