| 失效链接处理 | 
| 
      2024高频前端面试题 PDF 下载 
	相关截图: 
![]() 
	主要内容: 
		一、简单页面 
	
		1、CSS 选择器样式优先级 
	
		2、CSS 实现三列布局(左右固定宽度,中间自适应) 
	
		(1)CSS 浮动 
	
		第一个 float:left,第二个 float:right,第三个设置 margin-left 和 margin-right 
	
		(2)绝对定位法 
	
		第一个定位到 left,第二个定位到 right,第三个设置 margin-left 和 margin-right 
	
		(3)flex 布局 
	
		.left{ 
	
		width:200px; 
	
		或者 
	
		flex:0 0 200px; 
	
		} 
	
		.right{ 
	
		width:200px; 
	
		或者 
	
		flex:0 0 200px; 
	
		} 
	
		.center{ 
	
		flex:1; 
	
		} 
	
		3、如果要做优化,CSS 提高性能的方法有哪些? 
	
		内联首屏关键 CSS 
	
		异步加载 CSS 
	
		资源压缩 
	
		合理使用选择器 
	
		减少使用昂贵的属性 
	
		不要使用@import 
	
		二、js 
	
		1、防抖和节流,应用场景 
	
		防抖和节流都是防止某一时间频繁触发,但是原理却不一样。 
	
		防抖是将多次执行变为只执行一次,节流是将多次执行变为每隔一段时间执行。 
	
		防抖(debounce): 
	
		search 搜索联想,用户在不断输入值时,用防抖来节约请求资源。 
	
		window 触发 resize 的时候,不断的调整浏览器窗口大小会不断的触发这个事件,用防抖来 
	
		让其只触发一次 
	
		节流(throttle): 
	
		鼠标不断点击触发,mousedown(单位时间内只触发一次) 
	
		监听滚动事件,比如是否滑到底部自动加载更多,用 throttle 来判断2、什么是闭包 
	
		「函数」和「函数内部能访问到的变量」(也叫环境)的总和,就是一个闭包。 
	
		3、继承有哪些方法 
	
		原型链继承 
	
		借用构造函数继承(伪造对象、经典继承) 
	
		实例继承(原型式继承) 
	
		组合式继承 
	
		寄生组合继承 
	
		es6 继承 extends 
	
		4、什么是深/浅拷贝,有哪些实现方式 
	
		基本数据类型:string、number、boolean、undefined、null 
	
		引用数据类型:object、array、function 
	
		JS 数据类型分为基本数据类型和引用数据类型,基本数据类型保存的是值,引用类型保存的 
	
		是引用地址(this 指针)。浅拷贝共用一个引用地址,深拷贝会创建新的内存地址。 
	
		JSON 字符串转换为 JSON 对象: 
	
		var obj = str.parseJSON();//将 JSON 字符串转换为 JSON 对象 
	
		var obj = JSON.parse(str);// 将字符串转换为 JSON 对象 
	
		将 JSON 对象转化为 JSON 字符串: 
	
		var str = JSON.stringify(obj); 
	
		var str = obj.toJSONString(); 
	
		Object.assign:对象的合并 (第一级属性深拷贝,第一级以下的级别属性浅拷贝。) 
	
		ES6 中的 Object.assign(),第一个参数必须是个空对象。 
	
		Object.assign() 方法可以把任意多个的源对象自身的可枚举属性拷贝给目标对象,然后返回 
	
		目标对象。 
	
		let obj1 = { 
	
		a: { b: 1}, 
	
		c: 2 
	
		} 
	
		let obj2 = Object.assign({},obj1) 
	
		obj2.a.b = 3; //第二层,obj1 变了,是浅拷贝 
	
		obj2.c = 3; //第一层,obj1 不变,是深拷贝 
	
		console.log(obj1); 
	
		console.log(obj2); 
	 | 
    




    
苏公网安备 32061202001004号


    