欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

2018前端面试题

程序员文章站 2022-06-09 17:28:21
...
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.οnclick=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,切换显示时不会产生回流,所以性能更高