htmlyati
html语义化标签
是什么:语义化标签是一种写HTML标签的方法论/方式
怎么做:实现方法是遇到标题就用h1到h6,遇到段落用p,遇到文章用article,主要内容用main,边栏用aside,导航用nav(就是找到中文对应的英文)
解决了什么问题:明确了html的书写方法论
优点:一适合搜索引擎检索;二,适合人类阅读,利于团队维护
缺点:没有
怎么解决缺点:无需解决
总结:是什么,怎么做,解决了什么问题,优点是、缺点是,怎么解决缺点
HTML有哪些新标签
文章相关:header main footer nav section article figure mark
多媒体相关:video audio svg canvas
表单相关:type = email type = tel
Canvas和SVG的区别是什么?
Canvas主要是用笔刷来绘制2D图形的
SVG主要用标签来绘制不规则的矢量图
相同点:都是用来画2D图形的
不同点:Canvas画的是位图,SVG画的是矢量图
不同点:SVG节点过多时渲染慢,Canvas性能更好一点,但是 ...
vue生命周期
Vue 生命周期指的是 Vue 实例从创建到销毁的过程,Vue 生命周期包含了多个阶段,每个阶段都有对应的钩子函数可以在特定的时刻执行相应的操作。常用的 Vue 生命周期有以下几个阶段:
beforeCreate在实例被创建之初,Vue 会先执行 beforeCreate 钩子函数。此时,Vue 实例的数据观测和事件机制都还未初始化,因此在此时不能访问到 data、computed、methods 等属性和方法,也不能访问到 DOM 元素等。
created在 beforeCreate 钩子函数执行之后,Vue 会执行 created 钩子函数。此时,Vue 实例已经完成了数据观测和事件机制的初始化,但是此时还未挂载到 DOM 上,因此无法访问到 DOM 元素。
beforeMount在 created 钩子函数执行之后,Vue 会执行 beforeMount 钩子函数。此时,Vue 实例已经完成了模板编译,但是还未将模板渲染成真实的 DOM 元素。
mounted在 beforeMount 钩子函数执行之后,Vue 会执行 mounted 钩子函数。此时,Vue 实例已经将模板渲染成 ...
vue2基础
computed与watch 通俗来讲,既能用 computed 实现又可以用 watch 监听来实现的功能,推荐用 computed, 重点在于 computed 的缓存功能 computed 计算属性是用来声明式的描述一个值依赖了其它的值,当所依赖的值或者变量 改变时,计算属性也会跟着改变; watch 监听的是已经在 data 中定义的变量,当该变量变化时,会触发 watch 中的方法。
watch 属性监听 是一个对象,键是需要观察的属性,值是对应回调函数,主要用来监听某些特定数据的变化,从而进行某些具体的业务逻辑操作,监听属性的变化,需要在数据变化时执行异步或开销较大的操作时使用
computed 计算属性 属性的结果会被缓存,当computed中的函数所依赖的属性没有发生改变的时候,那么调用当前函数的时候结果会从缓存中读取。除非依赖的响应式属性变化时才会重新计算,主要当做属性来使用 computed中的函数必须用return返回最终的结果 computed更高效,优先使用。data 不改变,computed 不更新。
使用场景 computed:当一个属性受多个属性影响的 ...
vue生命周期的理解
每个Vue实例在创建时都会经过一系列的初始化过程,vue的生命周期钩子,就是说在达到某一阶段或条件时去触发的函数,目的就是为了完成一些动作或者事件
create阶段:vue实例被创建 beforeCreate: 创建前,此时data和methods中的数据都还没有初始化 created: 创建完毕,data中有值,未挂载
mount阶段: vue实例被挂载到真实DOM节点 beforeMount:可以发起服务端请求,去数据 mounted: 此时可以操作DOM
update阶段:当vue实例里面的data数据变化时,触发组件的重新渲染 beforeUpdate :更新前 updated:更新后
destroy阶段:vue实例被销毁 beforeDestroy:实例被销毁前,此时可以手动销毁一些方法 destroyed:销毁后
组件生命周期
生命周期(父子组件) 父组件beforeCreate –> 父组件created –> 父组件beforeMount –> 子组件beforeCreate –> 子组件created –> 子组件beforeMou ...
vue底层实现原理
Vue底层实现原理vue.js是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter和getter,在数据变动时发布消息给订阅者,触发相应的监听回调 Vue是一个典型的MVVM框架,模型(Model)只是普通的javascript对象,修改它则试图(View)会自动更新。这种设计让状态管理变得非常简单而直观
Observer(数据监听器) : Observer的核心是通过Object.defineProprtty()来监听数据的变动,这个函数内部可以定义setter和getter,每当数据发生变化,就会触发setter。这时候Observer就要通知订阅者,订阅者就是Watcher
Watcher(订阅者) : Watcher订阅者作为Observer和Compile之间通信的桥梁,主要做的事情是:
在自身实例化时往属性订阅器(dep)里面添加自己
自身必须有一个update()方法
待属性变动dep.notice()通知时,能调用自身的update()方法,并触发Compile中绑定的回调
Compile(指令解 ...
Cookie和localStorage
Cookie、sessionStorage、localStorage 的区别相同点:
存储在客户端
不同点:
cookie数据大小不能超过4k;sessionStorage和localStorage的存储比cookie大得多,可以达到5M+
cookie设置的过期时间之前一直有效;localStorage永久存储,浏览器关闭后数据不丢失除非主动删除数据;sessionStorage数据在当前浏览器窗口关闭后自动删除
cookie的数据会自动的传递到服务器;sessionStorage和localStorage数据保存在本地