其他分享
首页 > 其他分享> > 【01】前端面试 - VUE原理

【01】前端面试 - VUE原理

作者:互联网

VUE原理(大厂必考)

回顾之前的VUE面试题

组件化基础

Vue响应式

Proxy有兼容性问题

Object.defineProperty基本用法

const data = {}
   var name = 'zhangSan'
   Object.defineProperty(data, "name", {
   	get: function() {
   		console.info('get')
   		return name
   	},
   	set: function(newVal) {
   		console.info('set')
   		name = newVal
   	}
   })
   console.info(data.name)
   data.name = 'list'

运行课件代码

1、npm i http-server -g
2、http-server -p 8001
3、chrome访问localhost:8080/index.html

虚拟DOM(Virtual DOM)和diff

解决方案 - vdom

用JS模拟DOM结构

<div id="div1" class="container">
    	<p>vdom</p>
    	<ul style="font-size: 20px;">
    		<li>a</li>
    	</ul>
    </div>
	//用JS(vdom)模拟上述DOM结构
	var vdom = {
		tag: 'div',
		props: {
			className: 'container',
			id: 'div1'
		},
		children: [
			{
				tag: 'p',
				children: 'vdom'
			},
			{
				tag: 'ul',
				props: {
					style: 'font-size: 20px'
				},
				children: [
					{
						tag: 'li',
						children: 'a'
					}
				]
			}
		]
	}

通过snabbdom学习dom

diff算法

diff算法概述

树diff的时间复杂度O(n^3)

优化时间复杂度到O(n)

snabbdom - 源码解读

vdom和diff - 总结

模板编译

with语法

编译模板

1、npm init -y
2、npm install vue -template-compiler --save

标签:info,VUE,console,DOM,面试,01,组件,diff,vdom
来源: https://blog.csdn.net/qq_32629809/article/details/119041226