度小满金融前端笔试
赛码网,一共十题,简答加上编程,一题十分。
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.元素上下左右居中的方法,越多越好