![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
前端
文章平均质量分 78
鱿鱼子吃泡面
这个人很懒,什么都没留下
展开
-
【记录】TypeScript
配置// tsc --init// tsconfig.json{ // **表示任意目录,*任意文件 "include": [ "./src/**/*" ], "exclude": [ "./node_modules" ], "compilerOptions": { // 指定编译成哪个es版本 "target": "ES5", // 指定模块化规范(es6、commonjs) "module": "es6", // 指定项目中要使用的库 //"lib":原创 2022-04-25 12:50:21 · 140 阅读 · 0 评论 -
【记录】Vue3
vue-cli创建vue create [project_name]vite创建npm init @vitejs/app [project_name]npm install项目结构//main.jsimport { createApp } from 'vue';import App from './App.vue';createApp(app).mount('#app');Composition API组合式api。Vue2是Options API。(1)setup原创 2022-04-25 12:49:29 · 1805 阅读 · 0 评论 -
【记录】前端工程化 - 设计模式
前言该blog是根据阅读《JavaScript设计模式》按照自己的理解整理提炼出来的,不过我是按我接触的顺序来慢慢补充的,可能会更新的比较慢。如果有条件看这本书的读者,建议去看看原书,我觉得会对工程思想有很大的提升。创建型结构型行为型(1)观察者模式(发布订阅者模式/消息机制)技巧型架构型模块化将复杂的系统分解成高内聚、低耦合的模块,使系统开发变得可控、可维护、可扩展,提高模块的复用率。(1)MVC模式(2)MVP模式(3)MVVM模式...原创 2022-04-16 21:59:59 · 789 阅读 · 0 评论 -
【记录】前端知识点 - JS手写题
防抖function deboundce(f, delay){ let timer; return function(...args){ if(timer) clearTimeout(timer); timer = setTimout(()=>{ f.apply(this, args); }, delay); }}节流//定时器function throttle(f, delay){ let timer; return function(...args){原创 2022-04-10 10:26:02 · 685 阅读 · 0 评论 -
【记录】前端知识点 - Vue
MVC、MVP、MVVM(针对前端框架的理解)Vue没有完全遵守MVVM规范。因为严格的MVVM要求View和Model不能直接通信,而Vue通过$ref属性可以在ViewModel之外操纵到dom,也就是可以让Model操纵View。vue官网描述参考JavaScript设计模式(推荐去看看,里面讲的更详细,落实到具体如何实现。后续再出个blog。。。)为什么data要写成函数式,而不是对象式?在拥有多个组件的情况下,写成函数式,每复用一次组件,都会返回新的data,相当于为每原创 2022-03-29 23:07:11 · 773 阅读 · 0 评论 -
【记录】前端知识点 - HTML、CSS
HTMLdefer和async的区别script会阻碍HTML的解析。只有下载好并执行完脚本才会继续解析HTML。async script有可能会阻碍HTML的解析。解析HTML过程中进行脚本的异步下载,下载成功后立即执行。defer script不会阻碍HTML的解析。解析完成之后再按照顺序执行脚本。CSSCSS选择器优先级!important内联样式(1000)id选择器(100)类和伪类选择器(10)元素选择器(1)通配(0)继承的样式(没有优先级)标准原创 2022-03-24 22:38:03 · 691 阅读 · 0 评论 -
【记录】前端知识点 - 浏览器
浏览器浏览器内核支撑浏览器运行的最核心程序。内核由很多模块组成。(主线程)JS引擎:负责JS程序的编译与运行。HTML解析器,CSS解析器:负责页面文本的解析。布局和渲染模块:负责页面的布局和效果的绘制。DOM/CSS模块:负责DOM/CSS在内存中的相关处理。(分线程)定时器模块:负责定时器的管理。DOM事件相应模块:负责事件的管理。网络请求模块:负责ajax请求。常见浏览器内核Trident内核:IE、360和搜狗等国内浏览器。Gecko内核:firef原创 2022-03-22 12:12:05 · 996 阅读 · 0 评论 -
【记录】前端知识点 - JS
内置类型(1)基本数据类型number浮点型,基于IEEE 754标准的长浮点数(共64位:1位数符,11位阶码_移码,52位尾数_原码)实现。stringbooleanundefinednullsymbolbigint(2)引用数据类型Objectnull和undefined的异同点相同点转为布尔值都是false。undefined定义了但未赋值。typeof(undefined)=‘undefined’Number(un原创 2022-03-17 23:28:27 · 666 阅读 · 0 评论 -
【记录】前端知识点 - 计算机网络
输入URL发生了什么常见状态码1xx通知信息,接受请求正在处理。100:初始请求已经接受,客户应当继续发送请求的其余部分。101:服务器将遵从客户的请求转换到另外一种协议。2xx成功。200:服务器已成功处理了请求。3xx自动重定向。301:请求的网页已经永久转移到新位置。(永久重定向)307:服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。(临时重定向)4xx客户机请求错误。400:服务器不理解请求的语法。403原创 2022-03-11 23:20:00 · 2478 阅读 · 0 评论 -
【记录】算法 - JavaScript版
0、基础(1)异或相异为1,相同为0。性质N^0=N N^N=0满足交换律和结合律(2)与1&1=1,其他都=0。//利用临时变量实现交换function swap(arr, i, j){ let temp = arr[i]; arr[i] = arr[j]; arr[j] = arr[i];}//利用异或实现交换//前提:i和j地址值不同(相当于自己地址值里的内容跟自己地址值里的内容异或=0)。function swap(arr, i, j){ arr原创 2022-03-11 17:37:55 · 588 阅读 · 0 评论 -
【记录】前端工程化 - 模块化规范
模块化将一个复杂的程序根据一定的规则封装成几个块,并组合在一起。块的内部数据/实现是私有的,只是向外部暴露一些借口与外部其他模块进行通信。模块化的进化史//全局函数模式:将不同的功能封装成不同的全局函数。//Global被污染,容易命名冲突。function foo(){ ...}function bar(){ ...} //Namespace模式:简单对象封装。//减少Global上的变量数目;本质是对象,仍可以操作修改它,不安全。let MYAPP = { .原创 2022-03-02 14:24:48 · 382 阅读 · 0 评论 -
【记录】ES6
ES6声明变量varfunctionlet块级作用域。不存在变量提升。同一作用域内不可重复声明。const块级作用域。一定要赋初始值。值不可修改。但是对于数组和对象的元素进行修改,不会报错。因为数组和对象的常量中保存的是对它们的引用地址,值发生改变不会影响引用地址。const TEAM = [‘A’, ‘B’, ‘C’];importclass注意ES6 的块级作用域必须有大括号,如果没有大括号,JavaScript 引擎就认为不存在原创 2022-02-26 23:38:19 · 536 阅读 · 0 评论 -
【记录】AJAX
Asyncchronous JavaScript And XML异步的JS和XML。优缺点优点(1)无需刷新页面与服务端进行通信。(2)允许你根据用户事件来更新部分页面内容。缺点(1)没有浏览历史,不能回退。(2)存在同源跨域问题。(3)SEO不友好。基本操作let xhr = null;btns[0].onclick = function(){ xhr = newXMLHttpRequest(); xhr.open('POST', 'http://127.0.0.1:80原创 2022-02-24 20:47:29 · 119 阅读 · 0 评论 -
【记录】innerHeight?clientHeight?offsetHeight?scrollTop?screenTop?.....一堆高度傻傻分不清
1、window.screenwindow.screen.height用户屏幕的高度。window.screen.availHeight浏览器窗口在屏幕上可占用的垂直空间,即最大高度。不会随浏览器窗口变化,只与用户屏幕尺寸有关。2、windowwindow.innerHeight浏览器窗口的视口的高度(包括滚动条)。只读。window.outerHeight整个浏览器窗口的高度(包括地址栏啥的55667788)。只读。随着浏览器窗口变化。不支持IE9及以原创 2022-02-11 21:16:06 · 328 阅读 · 0 评论 -
【记录】JavaScript基础
JavaScriptJavaScript区分大小写。【标识符】第一个字符,可以是任意字母,$和_。第二个字符及后面的字符,除了字母、$和_,还可以用数字0-9。【注释】// 单行注释/* 多行注释 */<!-- 单行注释 -->也可以,但是只有-->在行首时才会被识别成注释,否则会被识别成运算。x = 1; <!-- x = 2;--> x = 3;// 只有x=1会执行,其他会被注释掉。// 为什么x=3也会被注释掉?funct原创 2022-01-31 17:43:06 · 1251 阅读 · 0 评论 -
【记录】Less
Lessleaner Style SheetLess 诞生于 2009 年,受Sass的影响创建的一个开源项目。 它扩充了 CSS 语言,增加了诸如变量、混合(mixin)、函数等功能,让 CSS 更易维护、方便制作主题、扩充。css不能套娃,只能一个item一块。less和sass可以套娃,且自动生成对应的css文件。【注释】// 单行注释,不会被解析到css文件中。/* 多行注释,会被解析到css文件中。 */【变量】// @变量名: 变量值;@a: 100px;.box{原创 2022-01-23 21:42:14 · 184 阅读 · 0 评论 -
【记录】Vue2
Vue的特点1、使用组件化模式,提高代码复用率、且让代码更好维护。2、声明式编码,让编码人员无需直接操作DOM,提高开发效率。3、使用虚拟DOM+优秀的Diff算法,尽量复用DOM结点。原生js:数据=>real-DOMVue:数据=>virtual-DOM=>real-DOMDiff算法Vue2.0...原创 2022-01-22 23:12:19 · 562 阅读 · 0 评论 -
【记录】 CSS
CSSCascading Style Sheets层叠样式表1、样式(1)内联样式写在元素的style属性里。不方便复用。(2)内部样式写在head的style标签里。(3)外部样式写在外部的css文件里。2、选择器(1)元素选择器标签名{}例:span{}(2)id选择器#id{}例:#p1{}(3)类选择器.class{}例:.class1{}可以为同一元素设置多个class,多个值用空格隔开。例:< p class=“a b c原创 2022-01-21 13:31:29 · 399 阅读 · 0 评论 -
【记录】 HTML
HTMLhyper text markup language原创 2022-01-21 11:45:22 · 478 阅读 · 0 评论 -
【记录】前端技能升级中坑集合
【1】文字换行网页在设备适配的时候,会出现由于文字过多而排版出现问题的情况。解决方法:加入代码行。overflow: hidden; white-space: nowrap;text-overflow: ellipsis;width:100px;...原创 2020-02-18 18:09:44 · 214 阅读 · 0 评论