- 博客(30)
- 资源 (4)
- 收藏
- 关注
原创 前端---对MVC MVP MVVM的理解
这反映了前端领域的发展进程,这三者都是框架模式,它们设计的目标都是为了分层:解决Model和Viev的耦合问题。MVC模式出现较早主要应用在后端,如Spring MVC、ASP.NET MVC等,在前端领域的早期也有应用,如Backbone.js,它的优点是分层清晰,缺点是数据流混乱,灵活性带来的维护性问题。MVP模式在是MVC的进化形式,Presenter作为中间层负责MV通信,解决了两者耦合问题,但P层过于臃肿会导致维护问题。
2024-09-06 16:36:55 1178
原创 通俗理解:面向对象(OOP)vs面向过程编程 |封装、继承、多态
过程:是具体完成某个具体任务的代码,基本可以理解为函数面向过程编程的核心,就是把要实现的某件事情,拆分成一个个步骤依次完成。比如: 我们要去ATM机存钱,依次存入50,取出100块钱,那我们就依次写步骤并定义出存钱和取钱的函数。如果我们还需要记录存钱和取钱的详细信息,例如:在哪个ATM机器上操作的,在哪个银行操作的,纸币的编号,那就需要补充参数。
2024-09-02 20:30:47 945
原创 webpack加载器、demo和核心工作原理
3.代码拆分的能力 :把代码可以按照我们的需要打包,我们可以把应用加载过程中初次运行的所必须的模块都打包在一起,其他的模块我们可以单独存放,等实际中需要用到那个模块,我们再去异步加载这个模块,从而实现增量加载或者是渐进式加载,这样的话我们就不用担心文件太大/太碎这两个极端的问题。然后它会去顺着我们入口文件当中的代码,根据代码中出现的import或者像require之类的语句,然后解析推断出来这个文件所依赖的资源模块。那webpack会根据我们的配置找到其中的一个文件作为打包的入口。
2024-09-01 19:25:51 1382
原创 Canvas-怎么画各种图形(包含具体code)
用canvas怎么画不同类型的图形?下面是一些demo,具体的注释在code里,大家可以自行学习。
2024-07-16 22:31:04 241
原创 Typescript基础知识总结
Typescript一、开发环境搭建二、类型声明三、TS 编译选项一、开发环境搭建(1)下载nodejs并安装(2)使用npm全局安装typescript:npm i -g typescript(3)创建一个ts文件(4)使用tsc对ts文件进行编译,进入文件所在的目录 tsc xxx.ts二、类型声明声明变量可指定变量的类型let 变量:类型let 变量:类型=值function fn(参数:类型,参数:类型):类型{ }所涉及的类型:number string Bo
2021-03-20 14:58:28 286
原创 NodeJs基础
NodeJs基础一、buffer基本操作实例化功能方法实例方法二、路径操作三、文件操作先引入`const fs=require(""fs)`2. 判断是否是文件3. 判断是否是目录4. 读取文件的api四、文件流式操作(大文件操作)五、目录操作一、buffer基本操作buffer对象是Node处理二进制数据的一个接口,可以直接使用,不需要require(‘buffer’)实例化Buffer.from(array)Buffer.from(string)Buffer.alloc(size)功
2021-03-12 16:53:37 292
原创 知识整理
这里写目录标题1.三栏布局1. 浮动方法2. 绝对定位3. flex布局4. 表格布局5.网格布局1.小补充2.盒模型1. 基本概念:标准模型+IE模型2. 两者区别:计算宽度和高度的不同3. css可设置这两种模型4.js如何获取盒模型对应的宽和高5. BFC(边距重叠解决方案)(1)BFC:块级格式化上下文(2)原理:(BFC渲染规则)(3)解决重叠方法(4)BFC作用6.清除浮动的方法3.DOM事件1. DOM事件的级别事件监听的三种方式2. 事件模型3. 事件流4. 描述DOM事件捕获的具体流程5.
2020-10-28 14:03:06 619
原创 Vue组件
vue笔记1.定义Vue组件2.全局组件定义的三种方式3. 组件中展示数据和响应事件4.使用`components`属性定义局部子组件5.使用`flag`标识符结合`v-if`和`v-else`切换组件6.使用`:is`属性来切换不同的子组件,并添加切换动画7.父组件向子组件传值8.子组件向父组件传值9.使用this.$refs来获取元素和组件9.1获取元素9.2获取组件1.定义Vue组件什么是组件: 组件的出现,就是为了拆分Vue实例的代码量的,能够让我们以不同的组件,来划分不同的功能模块,将来我们需
2020-09-02 14:53:19 319
原创 Vue过滤器、自定义按键修饰符、自定义指令、生命周期知识点
Vue知识点Day021.过滤器1.定义语法2.调用格式3.全局过滤器4.私有过滤器2.自定义按键修饰符2.1全局按键别名2.2自定义全局按键修饰符2.3自定义按键修饰符3.自定义指令3.1自定义指令3.2自定义局部指令4.vue生命周期1. 创建期间的生命周期函数:2.运行期间的生命周期函数:3.销毁期间的生命周期函数:1.过滤器1.定义语法function里面的第一个参数是固定死的,永远都是过滤器管道符前面传递过来的参数//function里面的第一个参数是固定死的,永远都是过滤器管道符前面传递
2020-08-28 17:55:23 144
原创 Vue.js基础指令-day1笔记
vue基础指令1.什么是Vue.js2.为什么要学习流行框架3.框架和库的区别4.Node(后端)中的 MVC与前端中的 MVVM 之间的区别5.Vue使用步骤和基本的代码结构6.相关指令1.事件修饰符7.在Vue中使用样式1.使用class样式2.使用内联样式8.Vue指令之`v-for`和`key`属性9.Vue指令之`v-if`和`v-show`1.什么是Vue.jsVue.js 是目前最火的一个前端框架,React是最流行的一个前端框架(React除了开发网站,还可以开发手机App, Vue
2020-08-28 11:12:18 355
原创 H5新增API
这里写目录标题1 网络状态2 全屏3 文件读取3.1 Files对象3.2FileReader对象4 地理定位4.1 API详解4.2 应用5 拖拽5.1 拖拽和释放5.2 设置元素为可拖放5.2 拖拽API的相关事件5.3 DataTransfer6 Web存储6.1 特性6.2 window.sessionStorage6.3 window.localStorage6.4 方法详解6.5 其它7 应用缓存7.1 优势7.2 缓存清单7.3 manifest文件格式*7.4 其它8 多媒体1 网络状态
2020-08-27 11:11:31 1185
原创 ajax-模板引擎综合运用-省市县三级联动
1.功能介绍:不用怎么说,比较常见的一个业务,通过调用第三方接口进行数据的获取,再也不用像之前一样啥都不知道,一点点的进行数据填充了2.页面简单展示页面比较丑,将就着看吧3.具体实现详解分析1.引入相关jQuery和template.js文件2.相关的后端PHP文件(这是之前写好的,先不过多的赘述)3.页面布局<body> <div id="container"> <label> 省:<select
2020-08-24 18:03:52 218
原创 jQuery知识点(特殊属性,事件机制)学习
这里写目录标题1. jQuery特殊属性操作1.1. val方法1.2. html方法与text方法1.3. width方法与height方法1.4. scrollTop与scrollLeft1.5. offset方法与position方法2.jQuery事件机制2.1. jQuery事件发展历程(了解)1.简单事件注册2.bind方式注册事件3.delegate注册委托事件2.2.on注册事件(重点)on注册事件语法2.3事件解绑1.unbind方式(不用)2.undelegate方式(不用)3.off方
2020-08-06 17:44:20 338
原创 Git零零散散知识点
1.SSH免登陆在相关的目录下git bash here在命令行里ssh-keygen回车,回车、打开我的电脑—C盘—用户—找到.ssh文件并打开里面会有两个文件,分别是id_rsa.pub(公钥)和id_rsa(私钥)打开公钥,复制里面的代码打开GitHub网站,在左上角的头像里面找到setting点击进去—找到左边的SSH and GPG keys并点击—右边出现的有个new SSH key—把得到的代码粘贴进去即可在GitHub里面找到自己相关的仓库—code里面有use SSH,把地
2020-07-30 15:11:20 162
原创 Git的基本使用-学习笔记
Git的基本使用1.Git 的基本工作流程2.Git的使用2.1使用前的配置2.2 提交步骤2.3撤销3、分支3.1 分支细节3.2 分支命令3.3暂时保存更改1.Git 的基本工作流程Git仓库:用于存放提交的目录暂存区:临时存放被修改的文件工作目录:被Git管理的项目目录2.Git的使用2.1使用前的配置配置提交前的姓名git config --global user.name 提交人姓名配置提交前的邮箱git config --global user.email
2020-07-28 17:46:33 140
原创 JS-ES6新增加的知识点
ES6知识点1.变量let2.常量const3.var、let和const的区别4.数组解构5.对象解构6.箭头函数()=>{}7.剩余参数(允许将不定量的值作为一个参数)8.Array的拓展方法1.扩展运算符2.构造函数方法Array.from()3.实例方法:find()4.实例方法 :findindex()5.实例方法:includes()9.string的扩展方法1.模板字符串``2.实例方法StartsWidth()和endsWidth()3.实例方法:repeat()10.Set数据结构1
2020-07-06 16:20:34 546
原创 JavaScript函数进阶-调用方式,内部this指向,高阶函数,闭包
这里写目录标题1.函数的定义和调用2.函数的调用方式3.this知识1.函数里this的指向2.改变函数内部this指向1.call()2.apply()3.bind()4.严格模式1、优点2.应用3.变化1.变量规定2.严格模式下this指向的是undefined3.函数变化5.高阶函数6.闭包1.变量作用域2.闭包1.函数的定义和调用函数的声明方式:function 关键字(命名函数)function fn(){}函数表达式;匿名函数var fun=function(){}
2020-07-04 10:26:23 220
原创 Seo新手入门,网络编辑如何写好文章(写文章技巧)
Seo新手入门,网络编辑如何写好文章(写文章技巧)概述刚入SEO门的小白在进行网站编辑的时候一定很头痛,SEO的标题怎么写?文章关键词怎么部署?注意要点都有什么?这一系列的问题,今天就让小编我来为您解答吧,文章技巧得这样写!SEO标题的重要性SEO标题就是网页的标题title在浏览器最左边最顶部显示的地方,他也是被搜索引擎当做是确定当前网页主体最主要的参数之一。为了吸引蜘蛛爬行,你的网站的标题是需要被优化和有吸引力的。SEO标题写得好,能让搜索引擎一下子非常直接的确定下来当前网页的主题,对提升站点的
2020-07-02 11:40:36 2181
原创 Js高级知识点-面向对象.原型.继承
js高级知识点1.面向对象编程介绍2.ES6 中的类和对象3.类的继承4.构造函数和原型1.构造函数定义2.构造函数原型prototype3.对象原型 __proto__4.constructor构造函数05.原型链6.JavaScript的成员查找机制7.原型对象this的指向8.扩展内置对象:拓展自定义方法5.继承1.call()2.继承:借用构造函数继承父类型的属性3.继承:借用构造函数继承父类型的方法6.ES5中新增的方法1.数组方法1.forEach()1.面向对象编程介绍面向过程POP:
2020-07-01 18:34:08 305 1
原创 jQuery知识点详解
jQuery知识点一、基本使用1.顶级对象$2.jQuery对象和DOM对象两者之间的转换3.jQuery常用API(1)jQuery选择器(2)筛选方法(3)排他思想二、jQuery样式操作1.操作css方法2.设置类样式方法三、jQuery效果1.显示隐藏效果2.滑动效果3.事件切换4.动画队列及其停止排队方法5.淡入淡出效果6.自定义动画animate()四、jQuery属性操作1.设置或获取元素固有属性值prop()2.设置或获取自定义属性attr()3.数据缓存data()五、jQuery内容文本
2020-06-24 20:35:15 529 1
原创 js完整轮播图-无缝滚动(详解+源码)
一、模块步骤分析首先明确一些每个类名,focus是整个轮播区域的类名,下面的ul里面的li是轮播图片的位置ol也是focus里面的,里面的li是专门的小圆圈,ol的类名是circle左右箭头的类名分别是arrow-l和arrow-r4.注意要在index.js文件一个window加载事件,animate.js在index.html引入时要放在index.js文件上方模块一:鼠标进入轮播区域focus时出现左右箭头这个还是比较简单的,只需要在focus区域给鼠标一个经过/离开事件即可获
2020-06-16 12:19:23 2257
原创 PC端页面特效-知识点笔记
一、元素偏移量offset系列1.offset概述offset就是偏移量,offset系列里面的相关属性可以动态的得到该元素的位置(偏移)、大小等。获取元素距离带有定位父元素的位置,如果元素没有父元素或者父元素没有定位,则以body为准获得元素自身的大小(宽度或者高度)注意:返回的数值都不带单位常用属性offset系列属性说明element.offsetParent返回该元素带有定位的父级元素element.offsetTop返回元素相对带有定位的父元素上方的
2020-06-16 11:09:49 211
原创 BOM浏览器对象-详细知识点笔记
一、概述BOM 是浏览器对象模型,由一系列的对象构成,每个对象都提供方法、属性BOM缺乏标准,是浏览器厂商自己定义的BOM 的顶级对象是window,window是JS访问浏览器的接口,是一个全局变量window下边的一个特殊属性是window.name二、window对象常见的事件(1)窗口页面加载事件window.onload是窗口页面加载事件。是当文档全部都加载完之后才会触发的,是可以写在元素前边的这个传统的事件只能写一次,如果有多个,则以最后一个加载事件为准如果用addEve
2020-06-13 11:37:52 214
原创 web前端-DOM-事件高级
一注册事件一、传统的注册方式:1.利用on开头 onclick2.特点:注册事件的唯一性,后注册的处理函数会覆盖前面的处理函数.二.方法监听注册方式1.addEventListener 支持IE9以上的版本(标准)用法: eventTarget.addEventListener(type, listener[,useCapture])eventTarget是目标对象type是类型,字符串,记住带上“ ”2.attachEvent()支持IE9一下的版本(非标准)二.删除事件
2020-06-10 17:25:08 187
原创 JavaScript-DOM重点核心
关于dom操作,我们主要针对于元素的操作。主要有创建、增、删、改、查、属性操作、事件操作。创建document.writeelement.innerHTML增加元素父.appendchild(子)父.insertBefore(子)删除元素父.removechild(子)修改元素(1)修改元素属性:src.title.href(2)修改普通元素内容: element.innerHTML(W3C标准)element. innerText(3)修改表单元素:type、va
2020-06-10 10:54:41 139
原创 js-动态生成+删除表格
简单功能介绍:当点击删除时,所在删除的这一行将被删除效果展示步骤分析1.表格中的数据并不是写死的,是我们通过创建一个datas对象动态获取到的,我们把数据写在里面,我们在H5代码里面的tbody里面是不需要写相关的数据的2. 我们要在tbody里面创建行,这个行数是通过datas[i]数组的长度决定的(1)先创建行数(2)创建行数里面的单元格,这里面单元格的数量主要是取决于每个对象里面的属性值,有三个属性就创建3个单元格(3)当我们创建完单元格后,就要考虑把datas[i]里面的数据值放在单
2020-06-09 17:02:27 725
原创 js-简单版发布留言
这个案例比较简单,主要是是对发布按钮的一个方法。当点击发布按钮时,对下边的ul里面添加li元素,然后让li获取到textarea里面用户输入到的值涉及知识点下面展示一些 内联代码片。 1.父级节点parentNode:(离元素最近的父级节点) node.parentNode2.子节点parentNode.childNodes得到父节点下的所有孩子(包含元素节点、文本节点)parentNode.children可得到元素节点parentNode.firstChild和parentNode.l
2020-06-09 13:57:41 344
原创 WEB前端:纯js如何实现tab切换(类似淘宝下面的详情切换)
这里分享的代码主要是自己每天学习的内容对其进行详细的复述,帮助自己能更加清晰的了解其中的关系。详细功能介绍:主要是前端中比较常用的一个功能点,当我们点击商品介绍时,就会出现介绍的详情;当点击售后保障时,就会出现相关的保障信息等。首先是标题HTML+css对页面的设计代码片.// An highlighted block<style> * { padding: 0; margin: 0; } .
2020-06-08 21:30:16 1586
案例:模拟京东快递单号查询.html
2020-06-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人