面试——html篇
DOCTYPE有什么用? 标准模式与兼容模式各有什么区别? DOCTYPE是“document type”的缩写。它是 HTML 中用来区分标准模式和怪异模式的声明,用来告知浏览器使用标准模式渲染页面 标准模式的排版 和JS运作模式都是以该浏览器支持的最高标准运行。在兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。 cookie和seession区别 cookie数据存放在客户的浏览器上,session数据放在服务器上。 cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session。 session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用COOKIE。 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。 所以个人建议:将登陆信息等重要信息存放为SESSION,其他信息如果需要保留,可以放在COOKIE中 cookie 和 token 的区别? token是 服务经过计算发给客户端...
面试——js篇
import 和 require 导入的区别 require 是 AMD规范引入方式;import是es6的一个语法标准,如果要兼容浏览器的话必须转化成es5的语法 require是运行时调用,所以require理论上可以运用在代码的任何地方;import是编译时调用,所以必须放在文件开头 本质上,require是赋值过程,其实require的结果就是对象、数字、字符串、函数等,再把require的结果赋值给某个变量;而import是解构过程,但是目前所有的引擎都还没有实现import,我们在node中使用babel支持ES6,也仅仅是将ES6转码为ES5再执行,import语***被转码为require; import的原理 简单说就是闭包的运用 为了创建module的内部作用域,会调用一个包装函数 包装函数的返回值也就是module向外公开的api,也就是所有export出去的变量 import也就是拿到module导出变量的引用 commonjs 和 es module区别? commonJs是被加载的时候运行,esModule是编译的时候运行 commonJs输出...
面试——react篇
解释一下 Flux Flux 是一种强制单向数据流的架构模式。它控制派生数据,并使用具有所有数据权限的中心 store 实现多个组件之间的通信。整个应用中的数据更新必须只能在此处进行。 Flux 为应用提供稳定性并减少运行时的错误。 Flux 的最大特点,就是数据的”单向流动”。 过程: 用户访问 View View 发出用户的 Action Dispatcher 收到 Action,要求 Store 进行相应的更新 Store 更新后,发出一个”change”事件 View 收到”change”事件后,更新页面 了解redux么?说一下redux redux 是一个应用数据流框架,主要是解决了组件间状态共享的问题,原理是集中式管理, 主要有三个核心方法,action,store,reducer。 工作流程是 view 调用 store 的 dispatch 接收 action 传入 store,reducer 进行 state 操作,view 通过 store 提供的 getState 获取最新的数据,flux 也是用来进行数据操作的,有四个组成部分 action,di...
面试——vue篇
谈谈你对MVVM、MVC开发模式的理解 MVVM分为Model、View、ViewModel三者。* Model 代表数据模型,数据和业务逻辑都在Model层中定义;* View 代表UI视图,负责数据的展示;* ViewModel 负责监听 Model 中数据的改变并且控制视图的更新,处理用户交互操作; Model 和 View 并无直接关联,而是通过 ViewModel 来进行联系的,Model 和 ViewModel 之间有着双向数据绑定的联系。因此当 Model 中的数据改变时会触发 View 层的刷新,View 中由于用户交互操作而改变的数据也会在 Model 中同步。这种模式实现了 Model 和 View 的数据自动同步,因此开发者只需要专注对数据的维护操作即可,而不需要自己操作 dom。 什么是MVC:* M(modal):是应用程序中处理数据逻辑的部分。* V (view) :是应用程序中数据显示的部分。* C(controller):是应用程序中处理用户交互的地方 简述Vue的响应式原理 当一个Vue实例创建时,vue会遍历data选项的属性,用 O...
uni-app中nvue的开发心得
介绍 uni-app App端内置了一个基于 weex 改进的原生渲染引擎,提供了原生渲染能力。 在App端,如果使用vue页面,则使用webview渲染;如果使用nvue页面(native vue的缩写),则使用原生渲染。一个App中可以同时使用两种页面,比如首页使用nvue,二级页使用vue页面,hello uni-app示例就是如此。 虽然nvue也可以多端编译,输出H5和小程序,但nvue的css写法受限,所以如果你不开发App,那么不需要使用nvue。 使用场景 需要高性能的区域长列表或瀑布流滚动。webview的页面级长列表滚动时没有性能问题的(就是滚动条覆盖webview整体高度),但页面中某个区域做长列表滚动,则需要使用nvue的list、recycle-list、waterfall等组件。这些组件的性能要高于vue页面里的区域滚动组件scroll-view。 复杂高性能的自定义下拉刷新。uni-app的pages.json里可以配置原生下拉刷新,但引擎内置的下拉刷新样式只有雪花和circle圈2种样式。如果你需要自己做复杂的下拉刷新,推荐使用nvue的ref...
uni-app开发总结
开发环境搭建下载HBuilderX 下载地址:https://www.dcloud.io/hbuilderx.html 安装插件 打开菜单: 工具 > 插件安装,安装以下插件 App真机运行 es6编译 eslint-js eslint-plugin-vue less编译 scss/sass编译 stylus编译 uni-app App调试 uni-app编译 uni-app的开发总结条件编译写法:以 #ifdef 或 #ifndef 加 %PLATFORM% 开头,以 #endif 结尾。 #ifdef:if defined 仅在某平台存在 #ifndef:if not defined 除了某平台均存在 %PLATFORM%:平台名称 详细文档请看:https://uniapp.dcloud.io/platform?id=%e6%9d%a1%e4%bb%b6%e7%bc%96%e8%af%91 适配uni-app 支持的通用 css 单位包括 px、rpx px 即屏幕像素 rpx 即响应式px,一种根据屏幕宽度自适应的动态单位。以750宽的屏幕为...
uni-app问题收集及解决
css部分nvue支持sass但是不支持sass的嵌套 变量使用(支持) <style lang="scss"> $lineBorderColor: yellow; .icon_right{ font-size: 50px; color: $lineBorderColor; }</style> 外部scss文件引入(支持) <style lang="scss"> @import "../../constant/css/constant.scss"; .icon_right{ font-size: 50px; color: $lineBorderColor; }</style> nvue不支持sass嵌套 nvue支持sass的所有其他属性,举例mixin(混合) // constant.scss文件$lineBorderColor: #dfdfdf;@mixin my { just...
react native日常开发遇到的问题
react-native navigationOptions中不能获取this、state场景:在createStackNavigator路由过来的页面,navigationOptions的header中添加搜索框 如下图: static navigationOptions = { headerStyle: {backgroundColor: '#0086f1'}, headerTitle: ( <TextInput placeholder={'请输入搜索内容'} onChangeText={(text) => this.setState({'str': text})};constructor(props) { super(props); this.state = ({ str: '' })...
react-native开发总结——常用插件
多环境配置react-native-config 详细文档请看: https://github.com/luggit/react-native-config 下载安装包: 当前版本(“react-native-config”: “^1.3.1”) yarn add react-native-config 连接库: (react-native 0.60版本后可以不执行这个命令) npx react-native link react-native-config ios端需要连接库: 在当前项目下进入ios目录, 执行:pod install android端链接库: 在当前项目下的android/settings.gradle添加: include ':react-native-config'project(':react-native-config').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-c...
react-native开发总结——react-navigation
介绍 react-navigation 路由导航(用于页面跳转, 4.x的版本)包括:createStackNavigator:页面跳转的路由导航createSwitchNavigator:底部tabbarcreateDrawerNavigator:抽屉侧边栏导航 createStackNavigator:页面跳转的路由导航使用步骤核心包:react-navigation npm install react-navigation 依赖项目: npm install react-native-reanimated react-native-gesture-handler react-native-screens react-native-safe-area-context @react-native-community/masked-view 使用createStackNavigator 基础导航器 前置安装 npm install react-navigation-stac...









