- 博客(25)
- 问答 (1)
- 收藏
- 关注
原创 JS-柯里化与反柯里化
柯里化什么是柯里化?简单来说,就是把多参数传入的函数拆成单参数(或部分)函数,内部再返回调用下一个单参数(或部分)函数,依次处理剩余的参数(实则就是利用了闭包的特性)目的:缩小适用范围,创建一个针对性更强的函数用途:简化代码结构,提高系统的可维护性,强制了功能的单一性,自然就做到功能内聚,降低耦合特点:1. 降低代码的重复,提高代码的适应性2. 提高了代码的合理性,更重的它突出一种思想---降低适用范围,提高适用性。3. 对于一个已有函数,对其约定好其中的某些参数输入,然后生成一个更
2021-05-29 11:33:19
204
原创 JS--惰性函数
关于惰性函数如字面意思,惰性函数是真的惰吗?我觉得不是,我觉得与其说它是惰,还不如说它是聪明的,它不会去重复地去做某一样东西,而形成冗余。而这也恰好是它的作用,好处!!!而惰性函数的优点:就是能避免多次重复的步骤判断,冗余等,只需一次判定,即可直接去使用,不用做无用的重复步骤惰性函数的应用场景:常用于函数库的编写,单例模式之中。在固定的应用环境不会发生改变,频繁要使用同一判断逻辑的惰性函数的例子以浏览器的监听事件方法为例:addEventlistener的这种方法是不支持IE浏览器的而IE浏
2021-05-18 22:49:00
221
原创 关于移动端
视口总共可分为3个视口:布局视口,视觉视口,理想视口布局视口:1. 一般移动设备的浏览器都默认设置一个布局视口,用于解决早起的PC端页面在手机上显示的问题2. 这个视口的分辨率基本都设置为980px视觉视口:用户所看到的网站区域理想视口:使得网站在移动端有最理想的浏览和阅读宽度而设定的,是最理想的视口尺寸要手动添加meta视口标签,主要目的:布局视口的宽度应该与理想视口的宽度一致meta标签:<meta name="viewport" content="width=de
2021-04-15 13:44:03
117
原创 css实现水平垂直居中(大概8种)
要求:对一个东西实现水平垂直居中利用text-align和line-height针对行级元素利用table-cell,vertical-align和text-align在子元素不确定宽高和数量时,特别实用利用flex简便、完整、响应式利用grid和flex类似有两种实现方式:1. 在父容器中设置display: grid; align-content: center; justify-content: center;2. 在父容器中设置display:grid; 在子元素中
2021-04-14 13:52:18
66
原创 CSS的7种方法实现三栏布局(经典)
要求假设高度已知,请写出三栏布局,其中左栏、右栏宽度各为300px,中间自适应方案:float布局,absolute布局,表格布局,grid布局,flex布局,双飞翼布局,圣杯布局(共7种)float布局做法:左右两侧部分分别左右浮动,中间容器要设置的左右margin为左右两侧分别的宽度注意:在中间的div区域要放到最前面进行渲染优点:比较简单,兼容性也比较好。只要清除浮动做的好,是没有什么问题的缺点:浮动元素是脱离文档流,要做清除浮动,这个处理不好的话,会带来很多问题,比如高度塌陷等
2021-04-13 21:08:35
434
原创 hexo搭建个人博客
准备工作1. node:https://nodejs.org/zh-cn/2. npm(安装完node后就有了),若npm下载速度很慢,可安装cnpm3. node安装hexo-cli模块:npm install -g hexo-cli开始搭建(windows平台)1. 新建一个文件夹来放置我们的博客2. 在这个文件夹中打开cmd,输入相关的命令3. hexo init:初始化创建博客4. hexo s:打开博客(默认地址:(http://localhost:400
2021-04-10 18:52:56
67
原创 关于Ajax(你不得不知)
简介AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术应用场景:无刷新分页短信无刷新获取无刷新搜索...不用刷新整个页面便可以与服务器通讯的方法1. Flash2. Java applet3. 框架:如果使用一组框架构造一个网页,可以只更新其中的一个框架,而不必惊动整个页面4. 隐藏的frame5. XMLHttpRequest:该对象是JavaScript的一个扩展,可使网页与服务器进行通信。是创建AJAX应用的最佳选择全局刷新和局部刷新全局刷新:浏览
2021-04-05 22:42:00
230
1
原创 git上传代码到远程仓库(附:生成秘钥)
1. 一开始使用git时,可能要使用到相关的密钥生成秘钥的方法:(1)ssh-keygen -t rsa -C "github注册的邮箱名" 随后一直enter就好,提示输入密码可输可不输 也可在下图的文件路径中查看到id_rsa(秘钥)和id_rsa.pub(公钥)(2)cat ~/.ssh/id_rsa.pub(生成的这个东西用于在github上 添加秘钥) 头像 -> settings -> SSH&GPGkeys 来到这里就会有如下
2021-03-29 19:02:14
334
原创 关于Git(管理版本系统你要知道...)
简介Git是目前世界上最先进的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目Git的作用:1. 协同开发2. 版本记录3. 解决冲突4. 历史追查5. 代码备份6. 版本还原7. 权限管理8. 分支管理9. 代码审查...Git 完整命令手册地址:http://git-scm.com/docsPDF 版命令手册:https://www.runoob.com/manual/github-git-cheat-sheet.pdfGit和SVN的区别1. Git是分布
2021-03-27 14:23:01
349
原创 关于HTML5(不了解会后悔喔)
简介HTML5是HTML第五次重大修改HTML5的8个特性:1. 语义特性2. 本地存储特性(indexedDB是HTML5本地存储最重要的技术之一)3. 设备兼容特性4. 连接特性(Server-Send Event和Websockets这两个特性能帮助我们实现服务器将数据推送到客户端的功能)5. 网页多媒体特性6. 三维,图形及特效特性(基于SVG,Canvas,WebGL及CSS3的3D功能)7. 性能与集成特性(通过XMLHttpRequest2等技术帮助web应用和网站在多样化的
2021-03-25 15:26:19
194
原创 关于CSS3(最新的CSS标准)
CSS3—边框1. CSS3圆角:border-radius 语法:border-radius:xx;(可为px,可为百分比。当为50%时,是一个圆) 如果你在border-radius属性中只指定一个值,那么将生成4个圆角 但是,如果你要在四个角上一一指定,可以使用以下规则: 四个值:第一个值为左上角,第二个值为右上角,第三个值为右下角,第四个值为左下角。 三个值:第一个值为左上角, 第二个值为右上角和左下角,第三个值为右下角 两个值:第一个值为左上角与右下角,第二个
2021-03-23 13:26:28
825
原创 关于网络协议(前端必知)
网络网络是信息传输,接收,共享的虚拟平台通过它把各个点,面,体的信息联系到一起,从而实现这些资源的共享网络传输数据有一定的规则,这些规则我们称为协议HTTP协议就是其中的一种,而且使用最为频繁计算机网络的七层协议应用层表示层会话层传输层网络层数据链路层物理层DNS解析域名解析(主机名解析):通过主机名,最终得到该主机名对应的IP地址的过程每一台计算机都有一个唯一的IP地址,计算机根据IP实现相互通信而我们通常使用的域名更多的是为了方便记忆以及个性化需要,它并不能直接对
2021-03-20 15:27:28
579
1
原创 前端框架---Bootstrap
简介Bootstrap是一个用于快速开发Web应用程序和网站的前端框架是基于HTML,CSS,JavaScript的为什么要使用Bootstrap?1. 移动设备优先:自Bootstrap3起,框架包含了贯穿于整个库的移动设备优先的样式2. 浏览器支持:所有主流浏览器都支持3. 容易上手4. 响应式设计:其响应式CSS能够自适应于台式机,平板电脑和手机5. 为开发人员创建接口提供了一个简洁统一的解决方案6. 包含了功能强大的内置组件,易于定制7. 提供了基于web的定制8. 是开源的
2021-03-19 12:44:17
757
原创 关于webpack(打包项目你所要知道的小秘密)
简介本质上,webpack是一个现代JavaScript应用程序的静态模块打包工具。当 webpack 处理应用程序时,它会在内部构建一个依赖图,此依赖图会映射项目所需的每个模块,并生成一个或多个bundle官网:https://webpack.docschina.org/webpack4的新特性1. mode属性:development或production(不设置mode时,默认为production)如:webpack --mode development/production针对d
2021-03-18 13:06:56
368
原创 关于MongoDB(隐藏的东西)
简介MongoDB为面向文档(基于分布式文件存储)数据库(非关系型数据库)非关系型数据库的结构:一台服务器 => 数据库 => 集合 => 文档非关系型数据库用于超大规模数据的存储面向文档数据库会将数据以文档形式存储。每个文档都是自包含的数据单元,是一系列数据项的集合。每个数据项都有一个名词与对应值,值既可以是简单的数据类型,如字符串、数字和日期等;也可以是复杂的类型,如有序列表和关联对象。数据存储的最小单位是文档,同一个表中存储的文档属性可以是不同的,数据可以使用XML
2021-03-17 12:43:34
725
原创 关于Node(你一定要知道的小秘密)
NodeJs简介NodeJs是一个JavaScript运行环境,它让JavaScript可以开发后端程序,几乎能实现其它后端语言能实现的所有功能。是一个基于 Chrome V8 引擎的 JavaScript 运行时NodeJs擅长处理高并发。它不会为每个客户连接创建一个新的线程,而仅仅使用一个线程。当有用户连接了,就会触发一个内部事件,通过非阻塞I/O,事件驱动机制,让NodeJs程序宏观上也是并行的关于进程和线程:进程:负责为程序的运行提供必备的环境。相当于工厂中的车间线程:计算机中的最小计算
2021-03-16 12:16:17
600
原创 关于Vue(你所不知道的小秘密)
简介是一种渐进式JavaScript框架,Vue被设计为可以自底向上逐层应用MVC模式(后端概念)M:model 数据模型(数据保存)V:View 视图 (用户界面)C:controller 控制器(业务逻辑)MVVM模式(前端概念)M:model 数据模型(数据保存,处理数据业务逻辑)V:View 视图 (用户界面,展示数据,与用户交互)VM:View Model 数据模型和视图的桥梁MVVM模式最大特点是支持数据的双向传递:M -> VM ->V,V -> V
2021-03-12 12:42:58
271
原创 关于sass(简短有用)
简介SASS 是一款强化 CSS 的辅助工具,它在 CSS 语法的基础上增加了变量 (variables)、嵌套 (nested rules)、混合 (mixins)、导入 (inline imports) 等高级功能,这些拓展令 CSS 更加强大与优雅。使用 Sass 以及 Sass 的样式库(如 [Compass](http://compass-style.org/))有助于更好地组织管理样式文件,以及更高效地开发项目。具体可参考中文官网:https://www.sass.hk/SASS的安装
2021-03-09 10:05:07
140
原创 关于ES6(你要知道的一些秘密)
ES6环境:webpack3.0ES6 声明变量let:相当于ES5的var 但var没有块级作用域,而let有 没有预解析,不存在变量提升 在代码块内,let要先定义完再使用,只要let定义变量在之前使用都是报错(为暂时性死区(TDZ)) 同一个作用域里不能重复定义变量 for循环中,for循环里面是父级作用域,循环里面又是一个 推荐以后使用letconst:定义常量(定义完变量后不能再次被赋值) 但对于一些对象上自身的方
2021-03-08 12:48:20
215
1
原创 关于JQuery(附3个案例)
简介JQuery是一个快速的,小的,丰富的JavaScript库(类指函数,工具的集合)。使的HTML文档遍历和操作,事件处理,动画和Ajax等操作更加简单。JQuery官网:https://jquery.com/JQuery文档:https://www.bejson.com/apidoc/jquery/JQuery特点轻量,开源,免费,易于学习兼容性处理强大的选择器链式操作便捷的DOM操作可靠的事件机制封装了简单易用的ajax操作丰富的插件JQuery准备工作下载JQuer
2021-03-07 11:25:22
1865
2
原创 关于JavaScript(你所不知道的小秘密)
主流浏览器的内核IE:tridentChrome:webkit/blinkfirefox:GeckoOpera:prestoSafari:webkit引入JS的方式页面内嵌标签(可在head内或body内)外部引入(常用方法)JS基本语法变量:变量声明:声明,赋值分解。单一var。 (var a=100)命名规则:变量名必须以英文字母,*,$开头*变量名可以包括英文字母,,$,数字不可以用系统的关键字,保留字作为变量名值类型(数据类型):不可改变的原始值(栈数据):N
2021-03-05 20:23:23
1290
10
原创 关于CSS(你所不知道的小秘密)
CSS规则包含选择器和声明块选择器:选中元素1. 元素选择器(h1,p,a,span...)2. id选择器(#选择器名称)唯一的 在html中的写法:id=选择器名3. 类选择器(.选择器名称)在html中的写法:class=选择器名声明块:出现在大括号中声明块中含多个声明,声明以分号结束每一个声明表达了某一方面的样式(如:背景颜色,字体颜色等属性)添加样式的方法1. 内部样式表(在head里面插入style标签)2. 外部样式表(在head里面使用link标签插入css文件
2021-03-05 13:08:08
183
原创 关于HTML(你所不知道的小秘密)
术语w3c组织定义的语言标准(https://www.w3.org/)用于描述页面结构的语言 (超文本标记语言)可参考文档:MDN常用的元素 1. 文本元素: h(h1-h6)1级标题~6级标题 (块级元素)`<h1></h1>` p 段落 (块级元素)`<p></p>` span (无语义,仅用于设置样式,行内元素) `<span></span>` pre (预格式化文本元素,不会被空白折叠) `<pre&
2021-03-04 21:49:33
216
3
空空如也
我想问一下Vue2.0的extend方法,在Vue3.0中使用什么方法实现或代替了?
2021-04-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人