说一下Jquery和使用vue的区别?
1、数据和视图分离
2、以数据驱动视图、只关心数据变化、不操作DOM
说一下对MVVM的理解?
model- 模型(数据) 模板数据template
view-- 视图、模板(视图和模型是分离的) 数据部分
ViewModel --链接view和model vue实例
数据通过数据绑定操作视图
视图通过事件监听操作数据
ViewModel是链接view和model的桥梁
vue中如何实现响应式?
vue中如何解析模板?
模板是什么?
本质:字符串
有逻辑:如v-if v-for等
与HTML很像 但是有很大区别
最终转换成HTML显示 模板最终转换成JS代码(因为必须使用JS才能转换逻辑) 最后模板转换成一个JS函数(render函数)
模板中所有的信息都包含在render函数中 with下this就是vm
vue2.0开始支持预编译 开发环境:写模板 编译打包生成JS 生产环境运行JS
vue的整个实现流程
1、解析模板成render函数
2、响应式开始监听
3、首次渲染,显示页面,且绑定依赖
4、data属性变化, 触发render
自定义实现v-model
<input type="text" v-model="变量">
等价于
<input type="text" :value="变量" @input="变量=$event.target.value">
React
说一下对组件化的理解?
组件的封装:视图,数据。变化逻辑
组件的复用:props传递数据,复用
JSX的本质是什么?
JSX转化成JS来运行,JSX独立出来了 其他可用,React.createElement可以自定义修改
可用transform-react-jsx把JSX转化成react
JSX和 vdom的关系?
JSX会转化成JS逻辑来 render函数转化JSX转化成vnode 再去渲染
说一下setState的过程?
setState是异步的 (因为考虑性能,多个setState不需要执行多次 执行一次即可)
阐述自己对React和Vue的认识?
本质区别:VUE本质是MVVM框架 由MVC发展而来 React本质是前端组件化框架,由后端组件化发展而来
模板和组件化的区别:
VUE 使用模板(angular提出)
React使用JSX
模板语法上更倾向于JSX 模板分离上更倾向VUE
模板听过和JS逻辑分离
回顾“开发封闭原则”
组件化区别:
React本身就是组件化
vue也支持组件化 是在MVVM上的扩展
两者共同点:
都支持组件化 都是数据驱动视图
总结:
VUE文档更易读更易学
团队水平高 则推拿使用react,组件化和JSX
hybrid是什么?为什么使用hybrid?
混合,即前端和客户端的混合开发
①可以快速更新(关键)无需APP审核 因为纯JS 没有高权限
②体验流畅(和APP的体验基本相似)
③减少开发成本,双端共用一套代码
webview :是APP中的一个组件 用于加载h5页面 是小型浏览器内核
介绍一下hybrid更新个上线的流程?
①前端做好静态页面(HTML JS CSS),将文件交给客户端
②客户端拿到静态页面,以文件的形式存储在APP中
③客户端在一个webview中
④使用file协议来加载静态页面(所以快,file协议比Http网络协议快)
问题:
①APP发布之后静态文件如何实时更新?
a:分版本,有版本号
b:将静态文件压缩成包,上传到服务器
c:客户端每次启动都去检查版本号
d:如果服务端版本号比客户端版本号新,就去下载最新的zip包
e:下载完之后解压包,然后覆盖现有文件
②静态页面如何获取内容?
a:不能那个AJAX获取 跨域 速度慢
b:客户端获取新闻内容 然后JS通讯拿到内容渲染
通讯
hybrid和H5的区别?
hybrid优点:体验好 迭代快 缺点: 开发成本高,联调测试查bug麻烦 运维成本高
hybrid适用场景:产品的稳定功能,体验要求高,迭代频繁
H5适用场景: 单次运营活动(如红包)或者不常用功能
前端JS和客户端如何通讯?
基本形式:调用 传递参数 间厅柜回调
schema协议的使用
有参数的
schema的封装
1
2
3
封装schema的代码封装成invoke.js 内置到客户端
客户端每次启动webview 都默认执行
本地加载 免去网络加载时间 更快
本地加载 更安全 因为没有网络请求 黑客看不到协议
如何证明你热爱编程?
证明:看书 写博客 写开源
看书: 构建知识体系 自己买书 看书有技巧 看书有产出(总结 写博客等 有哪些问题)
博客:
网友评论