度小满金融前端笔试
赛码网,一共十题,简答加上编程,一题十分。
1.js实现深拷贝
function deepCopy(oldObj,newObj){
for(var k in oldObj){
var item=oldObj[k];
if (item instanceof Array){
newObj[k]=[];
deepCopy(newObj[k],item);
}else if(item instanceof Object){
newObj[k]={};
deepCopy(newObj[k],item);
}else{
newObj[k]=item;
}
}
}
2.js实现instanceof
function myInstance(left,right){ left=left._proto_; right=right.prototype; while(true){ if(left==null){ return false; } if(left===right){ return true; left=left._proto_; } } } 3.实现解析url参数的函数,如输入‘https://m.baidu.com?paramA=a||mB=b’,输出参数对象 4.写出以下代码执行后的输出 var bar=1; function test(){ console.log(bar); var bar=2; console.log(bar); } test(); function foo(){ console.log(this.a); } var a=1; foo(); var obj={ a:2, foo:foo } obj.foo(); 5.下面代码在什么情况下会打印1? ```let a=? if(a==1&&a==2&&a==3){ console.log(1); }
6.写出以下代码执行后的输出
var x=1,y=2; var z=function(){ var x=2; return{ x:x, y:function(a,b){ x=a+b; }, z:function(){ return x; } } }; a=z(); a.y(x,y); console.log(a.z(),a.x,x); 7.px,em,rem的区别 8.typeof检测一堆数据类型 9.将<span></span>变换成右三角形 10.元素上下左右居中的方法,越多越好