2018前端面试题

1、js主要数据类型和复合数据类型
答案:Number、String、boolean、null、undefined基本数据类型,
除了这些以外都是复合类型,例如:Object、Array、Date、Math、RegExp
2、console.log(null == NaN) //false 
console.log(null == undefined) //true 
console.log(null == false) //false 
console.log(false == ' ' ) //true 
console.log(false == 0) //true 
console.log(1+2+'3') //33 
console.log('3'+1+2) //312 
console.log(Number(undefined)) //NaN 
console.log(Number(' '))// 0 
console.log(isNaN(NaN))// true 
console.log(isNaN('23'))// false 
console.log(typeof NaN) //number 
console.log(NaN == NaN) //false 
console.log(undefined == undifined) //true 
3、function t(a){ 
		var a='hello'; 
		alert(a) 
		function a() { 
			alert(null) 
		} 
		alert(a) 
	} 
	t(null) //输出hello,hello 注意没有执行a()函数 
4、function fn(b) { 
		alert(b) 
		function b() { 
			alert(b) 
		} 
		b() 
	} 
	fn(10) //输出两次function b() {alert(b)} 
5、function a(b) { 
		alert(b) 
		b=function () { 
			alert(b) 
		} 
		b() 
	} 
	a()//输出undefined ,function () {alert(b)}
6、js事件监听参数哪些是事件流机制的?js事件流机制有哪些?原理是什么?
 答案:js事件监听element.addEventListener(event, function, useCapture)ie8以下是attachEvent
	<input type="button" value="click me" id="btn1">
	
	<script>
	 //事件监听
	document.getElementById("btn1").addEventListener("click",hello);
	function hello(){
	 alert("hello world!");
	}
	//事件委托
	document.onclick=function (event) {
		if(event.target == btn6){
			hello()
		}
	}
	</script>
7、用js实现一个继承

8、封装一个函数正则匹配获取当前页面中的class类名
9、详细写出ajax的工作机制,列举js处理跨域的方式
10、ajax的工作机制是什么,列举js处理跨域的方式
11、用js写一个冒泡排序算法
12、rem、em、和px的区别
rem自适应布局
px:  像素;如果改变了浏览器的缩放布局就会被打乱
em:  10px=0.625em(原因是16px=1em;12px=0.75em;) 
     body{font-size:62.5%}
     div{width:5.5em} /*就是宽度为55px的div*/
rem:html{font-size:100px;} 
     div{width:0.55rem}/*就是宽度为55px的div*/
13、随机打印1-100之间的数字,去重后取出该10个数字的和最小值和最大值 
14、关于数组是最常考的 什么是伪数组,如何将伪数组转化成标准数组,
怎么判断一个变量是不是数组,并将这个数组随机排序,数组都有哪些方法 
15、浏览器缓存有哪些,通常缓存分几种
16、将url的查询参数解析成对象 
17、如何设置localstorage的过期时间
18、vue的生命周期 
19、描述一下vue实例的viewmodel的生命周期(钩子函数) 
20、利用vue过滤器实现一个数字加千分号 
21、列举浏览器对象模型BOM里对象有哪些 
window、location、Navigator 
详细介绍bom对象
22、css3中transform、translate、transition有什么区别 

23、css3中box-sizing是什么,有什么特点
content-box:不包括padding、border的值
border-box:包括padding、border的值,所以宽度不会因为设置了padding值而增大
24、移动端网页使用click会有什么问题
25、圣杯布局和双飞翼布局
26、display:none 和 visibility:hidden的区别
display:none 不在文档流中占位,浏览器也不会解析,切换显示时页面会产生回流
(页面重构,部分页面需要改变规模尺寸)
visibility:hidden 在文档流中占位,相当于透明度为0,切换显示时不会产生回流,所以性能更高

 

posted @ 2018-02-08 20:49  Yuanzz-0816  阅读(769)  评论(0编辑  收藏  举报