Vue中的知识点(1),腾讯前端开发面试经验

31 阅读3分钟

1.vue中for的key有什么用?

         Key是给虚拟DOM加的一个标识,当数据发生变化时,vue会去根据【新数据】去生成【新的虚拟DOM】。随后会将**【新的虚拟dom】与【旧的虚拟dom】进行对比。对比时的依据就是这个key**.

   不用key,获取用index当key都有可能出现问题。如果只是展示修改可以。但是建议还是使用唯一标识例如uuid,手机号,身份证,等等。

2.什么是虚拟DOM有什么用?

         **vue为了提高页面渲染效率,只渲染更改的dom,**在内存中会有一个虚拟的dom,他会与之前的虚拟进行比较。比较的依据就是key。

3.vue中的数据代理是什么? 数据劫持=数据代理

在元素js中实现响应式,

        var n=10;    
		var obj1={name:"php"};//定义一个对象
		//给对象添加一个新属性
		Object.defineProperty(obj1,"age",{
		   get(){return n;},
		   set(v){
		        n=v; 
				console.log("set")
				//只要有人修改age 我就更新dom
				document.getElementsByTagName("div")[0].innerHTML=n;
		   }
		})
	   //第一次加载
       document.getElementsByTagName("div")[0].innerHTML=n;
	   //打开f12控制台,修改obj1.age=25;发现界面也会跟着变化 
	   //这就是js数据代理,vue也是利用Object.defineProperty()

vue中的数据代理

 vue的实例对象vm拿到data中的数据后会放到_data中,这个_data中就使用Object.defineProperty封装了所有数据的getter与setter,只要有人修改数据setter就会执行,一执行外层的数据就修改,界面就会变化。意思就是vue把自身的data给了_data进行代理

4.router路由的两种工作模式?

        hash模式:路径带#号不美观,但是兼容性好,适合后端系统。

        history模式:不带#号,好看,但需要后端人员支持解决。

5.浏览器历史记录

       <RouterLink replace .......>News

      replace不记录,hash有记录

6.v-model的原理

       给一个原始html元素写v-model双向绑定其实 他是

总结

为了帮助大家更好温习重点知识、更高效的准备面试,特别整理了《前端工程师面试手册》电子稿文件。

内容包括html,css,JavaScript,ES6,计算机网络,浏览器,工程化,模块化,Node.js,框架,数据结构,性能优化,项目等等。

包含了腾讯、字节跳动、小米、阿里、滴滴、美团、58、拼多多、360、新浪、搜狐等一线互联网公司面试被问到的题目,涵盖了初中级前端技术点。

前端面试题汇总

JavaScript

性能

linux

开源分享:docs.qq.com/doc/DSmRnRG…