- 博客(65)
- 收藏
- 关注
原创 浏览器渲染原理
为了避免连续的多次操作导致布局树反复计算,浏览器合并这些操作,当JS代码全部完成后再进行统一计算,所以,改动属性造成的reflow是异步完成的,也同样因为如此,当JS获取布局属性时,就可能造成无法获取到最新的布局信息。如果主线程解析到位置,此时外部的CSS文件还没有下载解析好,主线程不会等待,继续解析后续的HTML,这是因为下载和解析CSS的工作是在预解析线程中进行的,这就是CSS不会阻塞HTML,解析的根本。,浏览器的默认样式,内部样式,外部样式,行内样式均会包含在CSSOM树中。
2024-03-03 19:54:06 879
原创 事件循环相关知识
程序运行需要有专属的内存空间,可以吧这块内存空间简单的理解为进程每个应用至少有一个进程,进程之间相互独立,即使要通信也需要双方同意。
2024-03-02 21:21:22 766
原创 组件通信的方式
2.自定义事件:@on @emit 可以实现子给通信。pubsub-js:vue中不用 全能。1.props:用于父子通信。全局时间总线:$bus 全能。
2023-04-22 18:58:06 71
原创 防抖和节流
lodash插件:里面封装了函数的防抖和节流业务(闭包,延时器):前面所有的出发都被取消最后一次出发在规定时间后才会触发,:在规定时间内不会重复触发回调,将频繁触发降为少量触发。也就是说如果连续快速触发,只有最后一次才会执行。
2023-04-19 20:34:42 73
原创 编程式路由跳转到当前路由时多次执行会抛出NavigationDuplicated的错误解决方法
解决方法1:通过push方法传递相应的成功和失败的同调函数可以捕获到当前的错误,但是这种方法治标不治本,不建议采用。错误原因: “vue-router”:“^3.5.3”:最新的vue-router引入promise。编程式路由跳转到当前路由时多次执行会抛出NavigationDuplicated的错误。不同点:call传递参数用逗号隔开,apply方法执行时传递数组。相同点:都可以调用函数一次,都可以篡改函数的上下文。解决方法2:重写push方法。
2023-04-18 16:13:33 89
原创 路由跳转传参知识点和相关面试题
---如果配置路由的时候params参数已经占位了,那么不传递params参数就会导致url有问题,在配置路由的时候,在占位的后面加上一个问号表示params可传或不传。---- 答:不能,路由传参的时候对象的写法可以使name,path形式,但是path不能和params参数一起使用。对象写法:额外的给路由组件传递一些props : props:{a:1,b:2}函数写法:可以params参数,query参数,通过props传递给路由组件。----使用undefind。
2023-04-18 15:12:20 116
原创 路由组件和非路由组件的区别
1.路由组件一般放置在pages或views文件夹,非路由组件一般放置在components文件夹。注册完路由,不管是路由组件还是非路由组件都有$route和 $router属性。2.路由组件一般需要在router文件夹中进行注册(使用的就是组建的名字)$router一般进行编程式导航进行路由跳转【push|replace】$route 一般获取路由信息【路径|quary|param等】非路由组件在使用的时候一直都是以标签的形式使用。
2023-04-16 21:24:11 79
原创 学Vue3这一篇就够了!
Vue是一套用于构建用户界面的渐进式框架(渐进式框架允许用最小的配置和功能逐渐添加更多的功能和插件)Vue 组件非常类似于自定义元素——它是 Web 组件规范的一部分,这是因为 Vue 的组件语法部分参考了该规范。例如 Vue 组件实现了 Slot API 与 is attribute.虽然 Vue 内部没有使用自定义元素,不过在应用使用自定义元素、或以自定义元素形式发布时,依然有很好的互操作性。Vue CLI 也支持将 Vue 组件构建成为原生的自定义元素。
2023-04-08 17:58:34 1155 1
原创 ES6学习笔记
ES6 提供了一个新的创建对象的语法,使用关键字 class。值得注意的是,class 只是一个语法糖,它并不像 Java、Python 或者 Ruby 这一类的语言一样,严格履行了面向对象的开发规范。在 ES5 里面,我们通常会定义一个函数 constructor,然后使用 new 关键字来实例化一个对象。在 ES6 里,class 声明有一个 constructor 方法,与 new 关键字一起被调用。如果 constructor 方法没有明确定义,那么它就被含蓄地定义为没有参数。");
2023-01-25 17:31:19 2262
原创 HTML标签
被包围在pre标签中的文本通常会保留空格和换行符, 而文本也会呈现出等宽字体。空连接就是目标链接为空,用“#”表示,点击空连接后,页面仍然会停留在当前页面。标签的内容将会在当前字符高度的一半为基准线的下/上方,字体大小会小一点。title:图片的描述,鼠标放在图片上描述图片的文字就会显现出来。target属性:链接目标窗口,链接在什么地方打开,网页位置。name属性:链接名称(一般用于锚点链接捆绑跳转的链接)title属性:链接的提示文字(鼠标悬停时的提示)a:a标签(超链接标签)sup上标和sub下标。
2022-08-23 17:42:16 124
原创 基础CSS
现在让我们使用之前学习的HTML注释,将Lobster字体的引入注释掉,这样一来,这个引入的字体就会失效。如果使用它来设置font-size值,它的值会跟随父元素的font-size值来改变。root是一个伪类选择器,它是一个能够匹配文档根元素的选择器,通常指的是html元素。可以看到,我们在style>样式声明区域里,创建了一个名为blue-text的class选择器。这样老旧的浏览器会降级使用这个方案,新的浏览器会在后面的声明里覆盖降级方案。...
2022-07-17 23:08:33 687
原创 基础HTML和HTML5
HTML 是一种标记语言,使用特殊的语法或标记来向浏览器描述网页的结构。HTML 元素由开始和结束标签构成,标签之间是文本内容。 不同的标签可以让文本内容以标题、段落、列表等形式展现。
2022-07-03 11:31:20 223 1
原创 2021-08-06
urllib模块入门encode()str(字符串)装换为bytes()类型decoded()bytes转换为str(字符串)通过urllib向带有中文字符的url发起请求时,需要使用urllib.parse()将中文装换为十六进制
2021-08-06 20:12:20 73
原创 第十三次课
property装饰器我们可以使用@property装饰器来创建只读属性,@property装饰器会将方法转换为相同名称的只读属性,可以与所定义的属性配合使用这样可以防止属性被修改如下图,使用name()方法获得name属性通过使用@property,将name()方法转换为相同名称的name只读属性继承继承的简介继承是面向对象的三大特性之一继承的引入ocp原则:开放拓展,关闭修改使用issubclass检测一个类是否是另一个类的父类任何类最大的父类都是object所
2021-02-27 18:24:26 129 1
机器学习手势识别项目
2023-04-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人