大华前端面试总结
笔试+面试
javascript变量提升
var name="John";
(function(){
if(typeof name == "undefined"){
var name ="Jack";
console.log("Hello,"+ name);
}else{
console.log("GoodBye,"+name);
}
var name="Charly";
})()
输出结果:Hello,Jack
跨域
1.通过设置jsonp
2.通过window.domain设置二级子域名
3.通过设置window.name
4.iframe
浏览器同源策略
协议、域名、端口都一致,http和https属于两种不同协议
对象复制
var a=b=1,b=2;
console.log("a===b",a===b); //false
var c=d=[1,2];d=[3,4];
console.log("c===d",c===d);//false
var f=[1,2];e=[...f];
console.log("f===e",f===e);//false
var h=i={a:1};i.a=2;
console.log("h===i",h===i);//true
var j=k={a:1};k={a:2}
console.log("j===k",j===k);//false
es6语法
for in和for of的区别
1.for in循环的是对象属性
2.for of是es6新加的循环的是可迭代对象(包括 Array, Map, Set, String, TypedArray,arguments 对象等等)不能循环普通对象
什么是事件委托
jquery中empty和remove的区别
vue中对象属性监听方式
vue中数组监听方式
婚礼纪面试
无笔试+面试
1.vue中如何判断一个组件中的元素是否是vue元素
2.let ,const,var的区别
3.用position实现宽度和高度不规定的垂直居中
4.vue中是否有react中对应的shouldcomponent功能的生命钩子函数
简惠面试
笔试+面试
1.react和vue区别
2.说一下umi是什么
3.说一下dva工作方式
4.深克隆和浅克隆是什么,怎么实现
5.关于变量提升
大搜车面试
笔试+面试
笔试题
1、邮箱的正则验证
2、history模式用到的两个函数
3、线程用到的原型方法
4、git创建分支
5、如何实现数组去重,不使用indexOf
6、实现垂直居中,三种方法
7、跨域的至少三种方法
8、less或sass方法实现参数n传入改变字体大小
1.说一下vue实现原理
2.vue中data为什么是返回函数和直接对象有什么区别,如果有另外一个和data并列的data1如何获取
3.如何进行技术选型
4.vue和react区别,及各自优缺点