自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mark Sheng的博客

一切阻挡你成功的都是借口!!!

  • 博客(43)
  • 资源 (6)
  • 收藏
  • 关注

原创 学会自我学习(自律性)

阶段性反馈机制(如何持之以恒、让自己发疯)反馈机制是王者荣耀的核心武器,击杀野怪获得金币,击杀敌人之后的画面、音效刺激大脑,不断地努力,获得奖励是我们不断的玩这个游戏的主要原因,也是人的本能,我什么都得不到凭什么这么做?,对记得初二的时候,父亲说如果你能考全校第三我就给你买一台电脑,当时我从全校xx名考到了全校第x名,而这只用了一个月的时间,还有,我希望给电脑换一个内存条,为什么?因为我希望电脑变得很快,对奖励机制十分重要,所以如果想要努力的做一件事情,就要反复的告诉自己我如果做成功了,能得到什么?而能

2021-01-04 20:36:19 2385 1

原创 如何学会自主学习?(精品)

阶段性反馈机制(如何持之以恒、让自己发疯)反馈机制是王者荣耀的核心武器,击杀野怪获得金币,击杀敌人之后的画面、音效刺激大脑,不断地努力,获得奖励是我们不断的玩这个游戏的主要原因,也是人的本能,我什么都得不到凭什么这么做?,对记得初二的时候,父亲说如果你能考全校第三我就给你买一台电脑,当时我从全校xx名考到了全校第x名,而这只用了一个月的时间,还有,我希望给电脑换一个内存条,为什么?因为我希望电脑变得很快,对奖励机制十分重要,所以如果想要努力的做一件事情,就要反复的告诉自己我如果做成功了,能得到什么?而能

2021-01-04 20:32:57 1911

原创 JS重新学习笔记(每天进步一点点,持续更新marksheng)

JavaScript-什么是变量什么是变量? 从字面上看,变量是可变的量;从编程角度讲,变量是用于存储某种/某些数值的存储器。我们可以把变量看做一个盒子,为了区分盒子,可以用BOX1,BOX2等名称代表不同盒子,BOX1就是盒子的名字(也就是变量的名字)。定义变量使用关键字var,语法如下:var 变量名变量名可以任意取名,但要遵循命名规则: 1.变量必须使用字母、下划线(_)或者美元符($)开始。 2.然后可以使用任意多个英文字母、数字、下划线(_)或者美元符($...

2021-01-21 19:43:00 101

原创 第5章基本引用类型(高阶第四版笔记)

第五章引用类型前言目录第五章引用类型前言一,DATE语法参数返回值注释示例:二,RegExp三,原始值包装类型:Boolean、Number、StringBoolean栗子:总结:Number前言:栗子:valueOf()、toString(param)栗子:toFixed(param)String前言:1、字符操作:charAt(索引)、charCodeAt(索引)2、字符串操作:slice()、substr()、

2021-01-20 21:49:43 190

原创 第五章(基本引用类型)

基本引用类型引用值(或者对象)是某个特定引用类型的实例。在 ECMAScript 中,引用类型是把数据和功能组织到一起的结构,经常被人错误地称作“类”。虽然从技术上讲 JavaScript 是一门面向对象语言,但ECMAScript 缺少传统的面向对象编程语言所具备的某些基本结构,包括类和接口。引用类型有时候也被称为对象定义,因为它们描述了自己的对象应有的属性和方法。

2021-01-20 21:28:12 52

原创 第4章笔记(变量,作用域与内存)

目录一,原始值与引用值本章内容 通过变量使用原始值与引用值 理解执行上下文 理解垃圾回收 一,原始值与引用值 原始值: 存储在栈中的简单数据,即他们的值直接存储在变量访问的位置。包括五种原始类型:undefined、null、boolean、number、string。引用值:存储在堆中的对象,即存储在变量处的值是一个指针,只41想存储对象的内存处。包括:object、array、function等两1者的区别:原始变量及他们的值储存在栈中,当把一个原始变量..

2021-01-19 21:35:44 117

原创 vue项目路由权鉴(单个路由)

beforeEnter(to,from,next){ if(sessionStorage.getItem("token")){ next() }else { alert("请先登录"); next('/') } },...

2021-01-18 10:33:35 185

原创 词法作用域(marksheng)

作用域模式作用域的工作模式分为两种,静态作用域与动态作用域其中静态作用域包括函数作用域和块作用域可能同学要问那么词法作用域呢其实词法作用域和静态作用域是同一个东西读这两本书能更好的理解词法作用域关于静态、动态作用域有什么区别——《高性能JavaScript》 /p24——《你不知道的JavaScript(上卷)》 /p59往下看↓词法作用域与动态作用域function foo(){ var a = 1; bar();}functio...

2021-01-15 07:59:53 107

原创 电商后台管理项目实战(笔记)

目录一.登录二.首页三.用户管理四.权限管理五.商品管理六.订单管理七.数据统计一.登录二.首页三.用户管理四.权限管理五.商品管理六.订单管理七.数据统计...

2021-01-14 20:00:51 528

原创 添token的值,退出后清空

登录后在sessionStorage中添加token的值,退出后清空localStorage 和 sessionStorage 属性允许在浏览器中存储 key/value 对的数据。sessionStorage 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。语法window.sessionStorage保存数据语法:sessionStorage.setItem("key", "value");读取数据语法:var lastname =

2021-01-13 16:05:21 961

原创 2021-01-11作业(JS)

1.写出自己理解的原型和原型链*********************************答:每个对象都有一个__proto__属性,并且指向它的prototype原型对象每个构造函数都有一个prototype原型对象prototype原型对象里的constructor指向构造函数本身当一个对象调用自身不存在的属性/方法时,就会去自己 [proto] 关联的前辈 prototype 对象上去找,如果没找到,就会去该 prototype 原型 [proto] 关联的前辈 prototyp.

2021-01-11 21:34:45 90 1

原创 Object(AO)流程和JS笔记

1.创建AO对象2.实例与变量名统一,赋值undefind3.实例与形参统一4.申明式函数提升5.表达式执行到那一步就执行

2021-01-11 13:13:00 172

原创 P7小实训面试题大全(marksheng)

目录HTML&CSS盒模型与BFC1. 什么是盒子模型?2.盒子模型有哪两种3.标准和怪异模型的转换4.JS盒模型5.对BFC规范(块级格式化上下文:block formatting context)的理解?6.瀑布流原理7.h5 和css3 的新特性JavaScript4.垃圾回收机制5.什么是内存泄漏?6.Vue 中的内存泄漏问题7.js的数据类型、堆栈存储、多数据类型计算12.js中数组排序(冒泡、快速、插入)13.深...

2021-01-06 19:11:30 1000

原创 vue跨域解决方案(marksheng)

可以在Vue项目 config文件夹下的index.js找到proxyTable并设置如下代码proxyTable: { "/api":{ target: 'http://127.0.0.1:8080', changeOrigin: true, pathRewrite: { '^/api': '' } }},并且取main.js设置如下代码Vue.prototype.$Api =

2021-01-06 15:30:31 90

原创 Vue项目中实现图片懒加载(marksheng)

实现方法(使用vue的vue-lazyload插件)1.安装插件npm install vue-lazyload --save-dev 2.在入口文件main.js中引入并使用import VueLazyload from 'vue-lazyload' 直接使用Vue.use(VueLazyload) 或者添加自定义选项Vue.use(VueLazyload, { preLoad: 1.3, error: 'dist/error.png...

2021-01-06 15:25:19 296

原创 预加载和懒加载得区别(marksheng)

懒加载也就是延迟加载。具体表现为:当访问一个页面的时候,先把img元素或是其他元素的背景图片路径替换成一张占位图的路径,这样就只需请求一次,只有当图片出现在浏览器的可视区域内时,才设置图片正真的路径,让图片显示出来。好处:很多页面,内容很丰富,页面很长,图片较多。比如瀑布流,图片数量多且大,如果一次性加载完毕,用户等待时间过长。 懒加载页面加载速度快、可以减轻服务器的压力、节约了流量,用户体验好。技术原理:页面中的img元素,如果没有src属性,浏览器就不会发出请求去下载图片,只有通

2021-01-06 15:12:24 307

原创 js实现图片懒加载原理(marksheng)

有时候一个网页会包含很多的图片,例如淘宝京东这些购物网站,商品图片多只之又多,页面图片多,加载的图片就多。服务器压力就会很大。不仅影响渲染速度还会浪费带宽。比如一个1M大小的图片,并发情况下,达到1000并发,即同时有1000个人访问,就会产生1个G的带宽。为了解决以上问题,提高用户体验,就出现了懒加载方式来减轻服务器的压力,优先加载可视区域的内容,其他部分等进入了可视区域再加载,从而提高性能。vue项目中的打包,是把html、css、js进行打包,还有图片压缩。但是打包时把css和js都分成了几部

2021-01-06 14:52:19 194

转载 js生成随机数/数组(marksheng)

生成范围内随机数javascriptfunction rand(min,max) { return Math.floor(Math.random()*(max-min))+min;}生成随机数组简单的随机生成```javascriptfunction randArray(len, min, max) { return Array.from({length:len}, v=> Math.floor(Math.random()*(max-min))+min...

2021-01-06 07:35:37 2473

原创 什么是跨域?跨域解决方法(重中之重)

跨域 以前也不懂,但是慢慢就会理解了,咱们学习的前端大概一部分就是网站域名交互一、为什么会出现跨域问题出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(prot...

2021-01-06 07:35:14 157

原创 路由导航守卫有几种,如何实现(marksheng)

一、全局路由守卫所谓全局路由守卫,就是小区大门,整个小区就这一个大门,你想要进入其中任何一个房子,都需要经过这个大门的检查全局路由守卫有个两个:一个是全局前置守卫,一个是全局后置守卫router.beforeEach((to, from, next) => { console.log(to) => // 到哪个页面去? console.log(from) => // 从哪个页面来? next() => // 一个回调函数}router.afterEach(to,fr

2021-01-05 14:44:13 1646

原创 Ajax 是什么?以及如何创建 Ajax?(marksheng)

1、Ajax 并不算是一种新的技术,全称是 asychronous javascript and xml,可以说是已有技术的组合,主要用来实现客户端与服务器端的异步通信效果,实现页面的局部刷新,早期的浏览器并不能原生支持 ajax,可以使用隐藏帧(iframe)方式变相实现异步效果,后来的浏览器提供了对 ajax 的原生支持 .2、**使用 ajax 原生方式发送请求主要通过 XMLHttpRequest( 标准浏览器 ) 、 ActiveXObject(IE 浏览器)对象实现异步通信效果 .**

2021-01-05 14:39:31 90

原创 promise异步加载图片(marksheng)

promise异步加载图片://函数直接调用,在.then中进行成功的操作,在.catch中进行失败的各种操作. function loadImageAsync(url){return new Promise((resolve,reject)=>{let image=new Image();image.onload=function(){resolve(image);};image.onerror=function(){reject(new Er...

2021-01-05 14:35:22 194

原创 继承的概念(marksheng)

ES5 有 6 种方式可以实现继承,分别为:**1.原型链继承**原型链继承的基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。缺点:1通过原型来实现继承时,原型会变成另一个类型的实例,原先的实例属性变成了现在的原型属性,该原型的引用类型属性会被所有的实例共享。2在创建子类型的实例时,没有办法在不影响所有对象实例的情况下给超类型的构造函数中传递参数。**2.借用构造函数**借用构造函数的技术,其基本思想为:在子类型的构造函数中调用超类型构造函数。优点:1可以向超类传递参数

2021-01-05 14:25:27 128

原创 h5 和css3 的新特性(marksheng)

CSS3新特性有哪些?答:1.颜色:新增RGBA,HSLA模式2. 文字阴影(text-shadow、)3.边框: 圆角(border-radius)边框阴影: box-shadow4. 盒子模型:box-sizing5.背景:background-size 设置背景图片的尺寸background-origin 设置背景图片的原点background-clip 设置背景图片的裁切区域,以”,”分隔可以设置多背景,用于自适应布局6.渐变:linear-gradient、radial-grad

2021-01-05 14:16:05 161

原创 meta 标签内属性及详解(marksheng)

name 属性1.keywords用于告诉搜索引擎,你网页的关键字。举例:<meta name="keywords" content="博客,前端">2.description用于告诉搜索引擎,你网站的主要内容。举例:<meta name="description" content="这是我的前端博客">3. viewport(移动端的窗口)<meta name="viewport" content="width=device-width, initial-scal

2021-01-05 14:08:10 778

原创 http 状态码,和三次握手和四次挥手相关问题(Marksheng)

(1)http 状态码: 1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码2xx (成功)表示成功处理了请求的状态码。常见的 2 开头的状态码有:200 – 服务器成功返回网页3xx (重定向)表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向常见的 3 字开头的状态码有:301(永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应时,会自动将请求者转到新位置。302(临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原...

2021-01-05 14:02:39 237

原创 数组常用的的方法(Marksheng)

数组的方法1. join (原数组不受影响)​ 该方法可以将数组里的元素,通过指定的分隔符,以字符串的形式连接起来。返回值:返回一个新的字符串//将数组用 - 符号连接起来let arr = [1,2,3,4,5];let str = arr.join('-');console.log(str)//str = 1-2-3-4-5;2. split (原数组不受影响)​ 该方法是用过指定的分隔符,将字符串分割成数组。返回值:返回一个新的数组let str = wqz-t

2021-01-05 11:48:31 147

原创 vue2中diff算法的之长枪直入(Marksheng)

一、前言Vue的核心是双向绑定和虚拟DOM(下文我们简称为vdom),关于双向绑定可以参阅木琴的文章《剖析Vue原理&实现双向绑定MVVM》,vdom是树状结构,其节点为vnode,vnode和浏览器DOM中的Node一一对应,通过vnode的elm属性可以访问到对应的Node。vdom因为是纯粹的JS对象,所以操作它会很高效,但是vdom的变更最终会转换成DOM操作,为了实现高效的DOM操作,一套高效的虚拟DOM diff算法显得很有必要。Vue的diff算法是基于snabbdom改造

2021-01-05 10:52:11 554

原创 rem的布局原理(Marksheng)

rem布局em和rem的认识在布局中,除了px之外,还有两个常见的单位,em和remem:相对于当前元素的字体大小→1em = 当前标签的font-sizerem:相对于根元素(html)的字体大小→1rem = html标签的font-size浏览器默认的font-size的大小为16pxrem布局的效果:屏幕越大,标签就越大 屏幕越小,标签就越小rem布局的原理:通过媒体查询的方式动态改变html标签的font-size的大小当屏幕越大,让ht...

2021-01-05 09:17:16 2972 2

原创 git的用法和工作流程(Marksheng)

命令行报bash:…:command not found的解决办法(几乎所有命令)命令行输入命令执行后报“bash:…:command not found”这是由于系统PATH设置问题,PATH没有设置对,系统就无法找到精确命令了。1、在命令行中输入:export PATH=/usr/bin:/usr/sbin:/bin:/sbin这样可以保证命令行命令暂时可以使用。命令执行完之后先不要关闭终端。2、在命令行中输入 vi /etc/profile 查看是否自己另外设置了PATH属性。 在Vi编辑

2021-01-04 20:34:55 77 1

原创 什么叫优雅降级和渐进增强?(常见面试题)

渐进增强 progressive enhancement:针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。优雅降级 graceful degradation:一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。区别:a. 优雅降级是从复杂的现状开始,并试图减少用户体验的供给b. 渐进增强则是从一个非常基础的,能够起作用的版本开始,并不断扩充,以适应未来环境的需要c. 降级(功能衰减)意味着往回看;而渐进增...

2021-01-04 20:33:38 530

原创 浅谈ES6中的promise(Marksheng)

控制台输出 console.log(promise)1.什么是Promise (结合上图得出结论)Promise 是异步编程的一种解决方案,其实是一个构造函数,自己身上有all、reject、resolve这几个方法,原型上有then、catch等方法。(ps:什么是原型:https://blog.csdn.net/qq_37430247/article/details/112193991)Promise对象有以下两个特点。(1)对象的状态不受外界影响。Promise对象代表一个异步操.

2021-01-04 20:31:34 121

原创 js中的原型与原型链

一、什么是原型原型:每一个javascript对象(除null外)创建的时候,都会与之关联另一个对象,这个对象就是我们所说的原型,每一个对象都会从原型中“继承”属性。例如var obj = new Object();创建一个对象的时候都会同时关联一个对象,如图,关联的这个对象就是新建的对象obj的原型二、prototype在JavaScript中,每个函数都有一个prototype属性,这个属性指向函数的原型对象。(ps:函数其实也是一个对象,所以与上述一、中的例子不冲突)

2021-01-04 18:43:45 218

原创 jQuery的事件委托方法bind 、live、delegate、on之间有什么区别?(常见)

(1)、bind 【jQuery 1.3之前】定义和用法:主要用于给选择到的元素上绑定特定事件类型的监听函数;语法:bind(type,[data],function(eventObject));特点:(1)、适用于页面元素静态绑定。只能给调用它的时候已经存在的元素绑定事件,不能给未来新增的元素绑定事件。(2)、当页面加载完的时候,你才可以进行bind(),所以可能产生效率问题。实例如下:$( "#members li a" ).bind( "click", function(...

2021-01-03 10:30:29 706

原创 从输入url到显示页面,都经历了什么啊(高频面试题)

从输入url到显示页面,都经历了什么第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相

2021-01-03 10:26:43 634

原创 px和em的区别

相同点:px和em都是长度单位;异同点:px的值是固定的,指定是多少就是多少,计算比较容易。em得值不是固定的,并且em会继承父级元素的字体大小。浏览器的默认字体高都是16px。所以未经调整的浏览器都符合: 1em=16px。那么12px=0.75em, 10px=0.625em。...

2021-01-03 10:10:30 299

原创 三句话就搞懂!CSS选择器的优先级计算方法

当CSS属性的效果互相抵触时,就需要计算CSS选择器的优先级。首先,我们给选CSS择器分类:行内样式<div style="xxx"></div>==> 标记a类 ID 选择器 ==> 标记b类 类,属性选择器和伪类选择器 ==> 标记c类 标签选择器、伪元素 ==> 标记d类**计数方法:**a/b/c/d类中,出现一类,就给a/b/c/d计一个 次数。a-d从高级到低级,a类的次数高的,其样式权重高,其余bcd类无需再比较;若a类的次数..

2021-01-03 10:08:17 530

原创 常见的HTTP状态码啊

常见的HTTP状态码2开头 (请求成功)表示成功处理了请求的状态代码。200 (成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。201 (已创建) 请求成功并且服务器创建了新的资源。202 (已接受) 服务器已接受请求,但尚未处理。203 (非授权信息) 服务器已成功处理了请求,但返回的信息可能来自另一来源。204 (无内容) 服务器成功处理了请求,但没有返回任何内容。205 (重置内容) 服务器成功处理了请求,但没有返回任...

2021-01-03 10:03:15 78

原创 undefined 和 null 区别

null: Null类型,代表“空值”,代表一个空对象指针,使用typeof运算得到 “object”,所以你可以认为它是一个特殊的对象值。undefined: Undefined类型,当一个声明了一个变量未初始化时,得到的就是undefined。null是javascript的关键字,可以认为是对象类型,它是一个空对象指针,和其它语言一样都是代表“空值”,不过 undefined 却是javascript才有的。undefined是在ECMAScript第三版引入的,为了区分空指针对象和未初...

2021-01-03 10:00:43 161

原创 块级元素水平垂直居中的方法有哪些(三个方法)

让div等块级元素水平和垂直都居中,即永远处于屏幕的正中央,当我们做如登录块时非常有用! 实现一、原理:要让div等块级元素水平和垂直居中,必需知道该div等块级元素的宽度和高度,然后设置位置为绝对位置,距离页面窗口左边框和上边框的距离设置为50%,这个50%就是指页面窗口的宽度和高度的50%,最后将该div等块级元素分别左移和上移,左移和上移的大小就是该div等块级元素宽度和高度的一半。 CSS代码:.mycss{width:300px;height:200px;...

2021-01-03 09:55:25 810

Webpack笔记.md

webpack的搭建和项目的整体的构架

2021-04-13

cmd框蹦迪.zip

cmd框蹦迪

2020-12-08

js速记s速记s速记s速记.txt

一些小技巧

2020-12-02

navicat121_mongodb_en_x64.exe

可视化工具mongodb操作简单,可视化强 欢迎大家下载

2020-11-26

电商项目实战.rar

vue+element电商实战,适用于学习前端的小伙伴们提高自己开发水平和扩展视野,

2020-11-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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