自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 vue+node.js+moogodb仿王者荣耀移动端项目一

一web端首页页面 二,新闻资讯详情页面 三,admin后台管理界面 四,项目目录 admin目录 view目录 web目录 serve目录 一,web端创建 首先创建vue.app中的内容 <template> <d...

2019-09-05 23:16:34

阅读数 78

评论数 0

原创 仿bilibili微信小程序3

七,视频播放页面 1.app.json引入detail目录 "pages": [ "pages/index/index", "pages/detail/detail", "components/MyTi...

2019-09-05 20:22:32

阅读数 170

评论数 0

原创 仿bilibili微信小程序2

轮播图 wxml <view class="slides"> <swiper autoplay indicator-dots circular> <swiper-item wx:for="{{swiperList}}...

2019-09-04 00:07:08

阅读数 51

评论数 0

原创 仿bilibili微信小程序一

一,项目目录 一,页面效果 1.首页 2,视频播放页 三,首页头部公众部分的制作 在component目录下的myTitle中 wxml <!--components/MyTitle/MyTitle.wxml--> <view class="...

2019-09-04 00:00:55

阅读数 218

评论数 0

原创 数据双向绑定与虚拟dom原理

一,数据双向绑定 view的变化反映到ViewModel,ViewModel变化同步反映到view上 原理: vue数据双向绑定是通过数据劫持,结合发布者-订阅者模式方式实现的 二,虚拟DOM原理 虚拟dom是为了解决DOM操作过多而导致性能低的问题,直接操作dom,改一次渲染一次,而虚拟dom是...

2019-09-03 23:19:17

阅读数 79

评论数 0

原创 MVVM

MVVM Model 指数据部分,js view 试图部分 dom viewmodel :连接视图与数据部分的中间件通讯 view与model不能直接通信,通过viewmodel实现双向通信

2019-09-03 23:08:58

阅读数 9

评论数 0

原创 nextTick用法与vue常用基础指令

一,nextTick用法 当操作数据发生改变,并不会立即执行更新dom操作,而是等事件所有数据都改变才执行操作, 故更新一个数据后立即对该数据绑定dom操作可能得不到想要的结果 故使用nextTick解决这种问题 例 //修改数据 vm.msg="hello" Vue.next...

2019-09-03 23:05:58

阅读数 45

评论数 0

原创 实现一个自定义组件,不同组件间如何通信的?

例:全局组件 <body> <div id="app"> <my-comonpent></my-compinent> </div> <template id="myTemplate"> ...

2019-09-03 22:52:38

阅读数 13

评论数 0

原创 web socket

使用js建立与远程服务器连接,从而允许远程服务器将数据推送给浏览器,websocket使用基于TCP的socket链接,使用websocket后,服务器端与浏览器建立一个socket链接,可以进行一个双向数据传输 send();向远程服务器发送数据 colse()关闭websocket 例 var...

2019-09-03 22:32:49

阅读数 13

评论数 0

原创 前端CSRF XSS

一,XSS跨站脚本攻击 向有xss漏洞的网站中输入恶意的HTML代码 当其他用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击目的 理论上,所有可输入的地方,没有对输入数据进行处理都有xss漏洞 xss方法 编码: 对用户输入数据进行HTML 编码 过滤: 移除用户输入和事件相关的属性 校...

2019-09-03 22:18:13

阅读数 15

评论数 0

原创 跨域

跨域指从一个域名网页去请求另一个域名的资源 限制跨域访问原因 1.安全 例如:用户访问网站A,cookie放在浏览器中,用户访问网站B,网站B获取网站A的cookie 对网站A发起访问。 为什么要跨域 可以实现同一个团体内,不同子域间相互访问 实现跨域方法 Nginx代理 A与B应用都通过一个统一...

2019-09-03 22:08:12

阅读数 303

评论数 0

原创 Ajax与Axios

ajax是对原生xhr封装,除此之外还增添了对于JSONP支持 例; $.ajax({ type:"post", url:url路径 data:data dataType:dataType; success:function(data){ console.log(data) ...

2019-09-03 21:47:03

阅读数 76

评论数 0

原创 GET与POST区别

1.get用来从服务端获取数据,POST用于上传或修改数据 2.GET大小限制在2kb以内,POST一般没有限制 3.get参数在url,post参数在请求主体中,安全性能post高 4,使用XMLHTTPReauest是post需要显示请求头 5,get不能保证每次都发送到服务器上,post可以...

2019-09-03 19:03:29

阅读数 10

评论数 0

原创 计算机网络协议层次划分

网络协议是计算机网络中进行数据交换而建立的规则,将所有的层次的协议集合起来就是协议栈 TCP/IP:应用层–>传输层–>网络层–>网络接口层 TCP/IP5:应用层–>传输层–>网络层–>{数据链路层–>物理层} OSI:{应用层–>表示层–>...

2019-09-03 18:51:15

阅读数 93

评论数 0

原创 CDN

CDN又叫内容分发网络,即让每个地区访问更近一点的网络结点,此节点为CDN节点 1.若cdn节点上没有想要的数据,那么该节点就会从dns源站上获取数据,然后在该节点上保存数据缓存。 2.若该地区有多个cdn节点,则按负载来判断访问那个cdn节点 目前cdn提供商有 阿里云 青牛 cdn框架 一个智...

2019-09-03 18:44:41

阅读数 12

评论数 0

原创 DNS解析

DNS层次化,分布式域名系统,提供将域名转化为ip服务 加载网页涉及4个DNS服务器, 1.DNS recursor:一个服务器,旨在通过web浏览器等应用程序,从客户端计算机接受查询 2.根名称服务器,将人类可读的主机名转换为ip地址的第一步 3.TLD名称服务器,此名称服务器是搜索特定...

2019-09-03 18:32:37

阅读数 12

评论数 0

原创 常见状态码

301:资源被永久转移到其他url 200:请求成功 404:不存在 500:内部服务器错误 503:服务器超时

2019-09-03 00:22:36

阅读数 12

评论数 0

原创 浏览器内核

IE Trident -ms Firefox Gecko -moz chome/safari webkit -webkit

2019-09-03 00:20:00

阅读数 20

评论数 0

原创 Cookies session SessionStorage与localstorage

一,Cookies session介绍 1Cookies让网站服务器把少量数据储存到客户端的硬盘或内存或是从客户端的硬盘读取数据的技术。 2Session 会话,指有始有终的一系列消息。 用户访问某个域名网站时,若该用户未创键会话,则web服务器自动创建一个session对象,存在服务端,此对象唯...

2019-09-03 00:15:52

阅读数 17

评论数 0

原创 防抖与节流

防抖与节流 防抖(用于表单提交) 某函数在一秒后执行,若在几秒内又有事件被触发了,则重新开始计时 function debounce(fn,wait){ let timer=null; return function(){ If(timer){ clearTimeout(timer) } cons...

2019-09-02 23:57:07

阅读数 10

评论数 0

原创 重绘与回流

重绘与回流 回流:页面中的部分或全部元素,宽高,位置发生变化,删除或增加某个元素时,某个元素隐藏或显示时,页面重新加载 重绘:页面中发生可见性变化 注: 回流必将引起重绘,重绘不一定引起回流。 ...

2019-09-02 23:55:42

阅读数 19

评论数 0

原创 从输入url到页面展示发生了什么

1,输入地址 2.浏览器查找域名ip地址 本地硬盘host文件————有————>使用 | 无 | 本地DNS服务器 | 无 | 根DNS服务器

2019-09-02 18:32:28

阅读数 11

评论数 0

原创 map与set

1.Set 本身为一个类似于数组构造函数,但set成员值是唯一的没有重复的值 例 const s=new set(); [2,3,5,4,5].forEach(x=>s.add(x)); for(let i for s){ console.log(i); } //2,3,5,4 set函数可...

2019-09-02 18:31:38

阅读数 32

评论数 0

原创 箭头函数this的指向问题

普通函数:(谁调用,this指向谁) 箭头函数:根据创建时所在的环境(我在那个环境中创建,this就指向那) 例 Documnet.οnclick=function(){ Alert(this);//HTMLDocument } Document.οnclick=()=>{ Alert(th...

2019-09-02 18:30:40

阅读数 31

评论数 0

原创 Generator

异步编程 有一种叫做”协程“,意为多个线程相互协作完成异步任务 协程运行流程 一,协程A开始执行 二,A执行到一半,进入暂停,执行权交由协程B; 三,(一段时间后)协程B交还执行权 四,协程A恢复执行 例 function async(){ //其他代码 var f=yield...

2019-09-01 22:41:34

阅读数 88

评论数 0

原创 callback回调函数

回调函数:把任务第二段单独写在一个函数里,等到重新执行这个任务时,就直接调用这个函数; 例 fs.readFile('/etc/passwd',function(err,data){ if(err)thow err; console.log(data); }); 上述代码中r...

2019-09-01 20:53:52

阅读数 110

评论数 0

原创 解构赋值

什么是解构赋值 语法上就是赋值作用 解构是一种结构,右边一种结构,左右一一对应进行赋值 分类 数组解构赋值,对象解构赋值,字符串解构赋值, 布尔值解构赋值,函数解构赋值,数值解构赋值 数组解构赋值 { let a,b,rest; [a,b]=[1,2]; console.log(a,b); } {...

2019-09-01 20:47:57

阅读数 12

评论数 0

原创 let与const

let 1.let声明的变量没有变量提升 2.let不允许重复声明 3.let声明变量不会给全局对象window增加属性; const 1,const声明变量必须赋值 2,const声明变量不屑修改 3,let的特点const都有 ...

2019-09-01 20:34:49

阅读数 23

评论数 0

原创 eventloop

进程与线程 一,Javascript为单线程 任务队列 单线程使得所有任务需要排队,前一个任务结束,才会执行后一个任务,若前一个任务不结束,后一个任务就需等待; 任务分为同步任务与异步任务 1 同步任务: 在单线程上排队执行任务只有前一个任务执行完成,才能执行后一个任务 2异步任务: 不进入主线程...

2019-09-01 20:24:56

阅读数 65

评论数 0

原创 垃圾回收机制与内存泄漏

1.标记清除 2.引用计数 1.标记清除 标记清除 标记出需要清除的, 具体原理 当变量进入执行环境时,将这个变量标记为进入环境,变量离开环境时,则将其标记为离开环境,标记离开环境时会被收回。 工作流程 1,垃圾回收器在运行时回给内存中所有变量加上标记。 2,去掉环境中的变量,以...

2019-09-01 20:12:36

阅读数 33

评论数 0

原创 服务端渲染与前端渲染

服务端渲染 1浏览器发送请求给服务器 2服务器利用后台引擎渲染直接生成html文件 3返回给前端直接插入页面 缺点:占用服务器资源 前端渲染 1浏览器发送请求给服务器, 2 服务器返回json数据 3前端获得json数据进行读取,拼接字符串,展示页面 4 前后端分离 ...

2019-09-01 19:57:10

阅读数 47

评论数 0

原创 BOM属性对象方法

1.window(浏览器窗口) 属性 name:浏览器窗口的名字或框架的名字 例:window.name=“new” 获取窗口名称document.write(name); top代表最顶层窗口如:window.top; parent:代表父级窗口,主要用于框架 self:代表当前窗口,主要用于框...

2019-09-01 19:48:39

阅读数 65

评论数 0

原创 扁平化数组

多维数组===》一维数组 法一:递归 var arr=[1,[2,3,[4]]]; function flatten(arr) var res=[]; for(var i=0;i<arr.length,i++){ if(Array.isArray[arr[i])){ res=res.conc...

2019-09-01 15:49:30

阅读数 19

评论数 0

原创 数组去重

1.indexof()方法(IE8后) 可返回某个指定元素在数组中首次出现的位置,若没有找到,则放回-1; function r(arr) { var new=[]; for(var i=0;i<arr.length;i++) { if(new.indexOf(arr[i]==1){ new...

2019-09-01 15:39:31

阅读数 16

评论数 0

原创 设计模式之单例模式

保证一个类仅有一个实例,并提供一个访问他的全局访问点 1.实例单例模式 用一个变量来标志,当前是否已经为某个类创建过对象,若是,则在下一次获取该类时,直接返回之前的创建对象 例 var A = { XX: "123", YY: "1234", ...

2019-09-01 15:13:15

阅读数 8

评论数 0

原创 立即执行函数

遇到该函数立即执行,只执行一次,执行完后。将函数立即释放。 用处:减少缓存,解决闭包问题 格式 (function(形参){ 代码处 }(实参) };

2019-09-01 14:54:23

阅读数 9

评论数 0

原创 Promise对象

1.对象状态不受外界影响,Promise对象代表一个异步操作 有三种状态 pending(进行中) fulfilled(已成功) reject(已失败) then方法是定义在原型对象Promise.prototype上的 等待态(pending);promise包装任务正在执行中; 完成态(ful...

2019-09-01 14:51:07

阅读数 7

评论数 0

原创 async/await

async用于申明一个function异步的 await用于等待一个异步方法执行完成 async优点 1,内置执行器 2,更好语义 3,更广泛适用性 带async关键字的函数,使得函数返回值必为promise对象 1.await等的是右侧【表达式】结果,右侧表达式执行完后抛出 2.宏任务与微任务 ...

2019-09-01 14:37:22

阅读数 24

评论数 0

原创 apply与call

call().apply()是用括号里的对象来集成括号外函数属性 例 function add(a,b){ alert(a+b); } function sub(a,b){ alert(a-b); } add.call(sub,1,1); //值为2,使sub集成了add的函数属性 区别: ap...

2019-09-01 14:08:13

阅读数 9

评论数 0

原创 函数柯里化

主要目的为减少函数传参,同时将一些固定参数私有化 把接收多个参数函数变成一个接收一个单一参数的函数,并返回接收剩余参数而且返回结果的新函数的技术 例 // 普通的add函数 function add(x, y) { return x + y } //柯里化 var add1=functio...

2019-09-01 14:00:57

阅读数 7

评论数 0

提示
确定要删除当前文章?
取消 删除