Menu

前端

前端开发相关笔记,包括一些开发经验和代码。

DOM之事件定义-Event类

Event 什么是Event?就是表示在DOM中发生的事件。 我们知道事件可以被用户的鼠标点击的类似操作给触发,也可以通过程序的HTMLElement.click()类似的方式来触发。当然,我们也可以定义事件,然后通过EventTarget.dispatchEvent()来触发。 要创建一个事件,首先可以根据Event构造函数来创建一个事件。 var event = new Eve...

Vue重点知识总结—vue-router

1.vue-router导航守卫(生命周期钩子) 导航守卫主要⽤来对路由的跳转进⾏监控,控制它的跳转或取消,路由守卫有全局的, 单个路由独享的, 或者组件级的。 导航钩⼦有3个参数 to:即将要进⼊的⽬标路由对象; from:当前导航即将要离开的路由对象; next:调⽤该⽅法后,才能进⼊下⼀个钩⼦函数(afterEach)。 具体有...

SPA单页面应用和SSR服务端渲染对比

1.什么是单页面应用(SPA)? 整个web项目只有一个页面,使用路由机制进行组件之间的切换。 优点:客户端渲染、数据传输量小、减少服务器端压力、交互/响应速度快、前后端完全分离。 缺点:首屏加载慢、对SEO不友好,不利于搜索引擎收录和排名。 2.什么是服务端渲染(SSR)? 将组件或页面通过服务器端生成HTML字符串,...

js事件循环机制总结

js是一门单线程语言,但却能优雅地处理异步程序,在于js的事件循环机制。 浏览器是多进程的,浏览器每一个 tab 标签都代表一个独立的进程,其中浏览器渲染进程(浏览器内核)属于浏览器多进程中的一种,主要负责页面渲染,脚本执行,事件处理等 其包含的线程有:GUI 渲染线程(负责渲染页面,解析 HTML,CSS 、构造 DOM ...

前端热门插件和工具使用

Webpack 1.webpack的核心概念 Entry:入口,Webpack进行打包的起始点(文件) Output:出口,webpack编译打包生成的bundle(打包文件) Loader:模块加载(转换)器,将非js、非json模块包装成webpack能理解的js模块 Plugin:插件,在 Webpack 构建流程中的特定时机插入具有特定功能的代码 Module:模块,在 Webpack眼里一切...

JAVA二分查找算法

/** * @desc 二分查询(非递归方式) * 案例: * {1,3,8,10,11,67,100},编程实现二分查找,要求使用非递归方式完成。 */ public class BinarySearchNonRecursive { public static void main(String[] args) { int[] arr = {1, 3, 8, 10, 11, 67, 100}; int index = binarySearch(arr, ...

Vue重点知识总结—原理篇

一、响应式数据原理 什么是双向数据绑定:Vue将视图层与数据层做了一个双向的数据同步。甚至是组件之间也可以通过v-model方式进行数据绑定。最大的作用是方便。更效率的实现业务。 vue 实现数据双向绑定主要是:采用数据劫持结合发布-订阅者模式的方式,通过 Object.defineProperty() 来劫持data中对象的各个属性的 sett...

js重点知识总结—设计模式

假设有一个空房间,我们要日复一日地往里面放一些东西。最简单的办法当然是把这些东西直接扔进去,但是时间久了,就会发现很难从这个房子里找到自己想要的东西,要调整某几样东西的位置也不容易。所以在房间里做一些柜子也许是个更好的选择,虽然柜子会增加我们的成 本,但它可以在维护阶段为我们带来好处。使用这些柜子...

Vue重点知识总结—Vuex篇

1.vuex是什么?怎么使用?哪种功能场景使用它? Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。简单来说就是:应用遇到多个组件共享状态时,使用vuex。 文档:https://vuex.vuejs.org/zh/ 场景:多个组件共享数据或者...