- 博客(12)
- 收藏
- 关注
原创 new Vue之后,发生了什么? 数据改变后,又发生了什么
如果遇到创建一个组件的vnode,则会进入组件实例化流程,该流程和创建vue实例流程基本相同,最终会把创建好的组件实例挂载到vnode的componentInstance属性中,以便复用。在执行_update函数的过程中,会触发patch函数,由于目前没有旧树,因此直接以当前的虚拟dom树的每一个普通节点生成elm属性,即真实dom。在执行render函数的过程中,会去掉之前的依赖,重新收集所有的依赖,将来依赖变化时会重新运行updateComponent函数。
2023-05-10 14:14:11 183
原创 react 中的类型验证 PropTypes
使用proptypes做props的类型验证。1.npm下载prop-types。2.引入prop-types。
2023-04-26 20:56:28 117
原创 阐述一下 JS 的事件循环
根据 W3C 官方的解释,每个任务有不同的类型,同类型的任务必须在同一个队列,不同的任务可以属于不同的队列。不同任务队列有不同的优先级,在一次事件循环中,由浏览器自行決定取哪一个队列的任务。在 Chrome 的源码中,它开启一个不会结束的 for 福环,每次循环从消息队列中取出第一个任务执行,而其他线程只需要在合适的时候将任务加入到队列末尾即可。过去把消息队列简单分为宏队列和微队列,这种说法目前己无法满足复杂的浏览器环境,取而代之的是一种更加灵活多变的处理方式。
2023-04-19 16:55:39 73
原创 如何理解 JS 的异步?
JS是一门单线程的语言,这是因为它运行在浏览器的渲染主线程中,而渲染主线程只有一个。如果使用同步的方式,就极有可能导致主线程产生阻塞,从而导致消息队列中的很多其他任务无法得到执行。这样一来,一方面会导致繁忙的主线程白白的消耗时间,另一方面导致页面无法及时更新,给用户造成卡死现象。具体做法是当某些任务发生时,比如计时器、网络、事件监听,主线程将任务交给其他线程去处理,自身立即结束任务的执行,转而执行后续代码。当其他线程完成时,将事先传递的回调函数包装成任务,加入到消息队列的末尾排队,等待主线程调度执行。
2023-04-19 16:50:22 68
原创 v-model 的原理
当其作用于表单元素时,vue会根据作用的表单元素类型而生成合适的属性和事件。例如,作用于普通文本框时,会生成value属性和input事件,而当其作用于单选框或者多选框时,会生成cheched属性和change事件。v-mode既可以作用于表单元素,又可作用于自定义元素,无论哪一种情况,它都是一个语法糖,最终会生成一个属性和一个事件。v-model也可以作用于自定义组件,当其作用于自定义组件时,默认情况下,会生成一个value属性和input事件。或者通过组件的model配置来改变生成的属性名和事件名。
2023-03-30 11:47:40 169
原创 页面可见性
HTML5提供了一个visibilitychange页面事件来判断当前页面可见性的状态,并针对性的执行某些任务。同时,还有document.hidden属性可以使用。页面可见性:判断当前页面是否是用户正在浏览的页面。
2023-03-30 11:16:19 125
原创 可替换元素和非可替换元素
再比如,select元素也是一个典型的可替换元素,它在页面上呈现的是用户操作系统上的下拉列表样式,因此,它的展现效果是由操作系统决定的。所以,同一个select元素,放在不同操作系统的电脑上会呈现不同的外观。比如img元素就是一个可替换元素,它在页面中显示的效果主要取决于你外接的是什么图片,图片是什么它就展示什么,css虽然可以控制图片的尺寸位置,但永远无法控制图片本身。:普通元素,它具体在页面上呈现什么,完全由css来决定。可替换元素:这个元素在页面中的大部分展示效果不由css决定。
2023-03-30 11:04:52 82
原创 什么是SEO & 如何SEO
SEO( Search Engine Optimization):搜索引擎优化, 是指从自然搜索结果中获得网站流量的技术和过程,是在了解搜索引擎自然排名机制的基础上,对网站进行内部和外部的调整优化,改进网站在搜索引擎中的关键词自然排名,获得跟更多的流量。外部优化只要是指放友情链和外链,提高网站的权重。img标签的alt属性指定了替代文本,当图片无法显示或者用户禁用图像显示时,代替图像显示在浏览器中的内容。语义化的代码能够让搜索引擎更容易理解网页,即便没有css,整个网页的结构也是十分清楚的。
2023-03-29 17:53:57 413
原创 html语义化的优点
2.有利于SEO:和搜索引擎建立良好沟通,有助于爬虫抓取更多的有效信息(爬虫依赖标签来确定上下文和关键字的权重)。3.提升用户体验:例如 title、alt 可以用于解释名称或者解释图片信息,以及label标签的灵活运用。5. 方便其他设备解析:例如 屏幕阅读器、盲人阅读器、移动设备等,以有意义的方式来渲染网页。1.代码结构:使页面没有css的情况下,也能够呈现出很好的内容结构。4.增加可读,方便团队维护和开发。
2023-03-29 16:46:53 405
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人