前后端
文章平均质量分 58
Mark sheng
一切阻挡你成功的都是借口
展开
-
Maximum call stack size exceeded
错误描述直接上错误截图:错误解析以上错误的意思是 "超出最大调用堆栈大小"出现这种错误最常见的原因是:在代码中的某个地方,您正在调用一个函数,该函数又调用另一个函数,依此类推,直到达到调用堆栈限制。这几乎总是因为具有未满足的基本情况的递归函数举例:(function a() { a();})();调用堆栈会一直增长,直到达到限制:浏览器硬编码堆栈大小或内存耗尽。为了解决这个问题,请确保您的递归函数具有能够满足的基本情况(function a(x) { if ( ! ...原创 2021-04-13 11:38:37 · 1991 阅读 · 0 评论 -
try catch 用法(marksheng)
在实际应用中,碰到了一个问题,就是在动态生成一个表格的时候,从后台接收到的的数据和表头名称是不同的接口,而表格的id是在表头名称这个接口动态生成的,所以就会导致一个问题,在火狐浏览器中,响应请求比较慢这个时候我们就可以使用 try catch 方法 来 处理浏览器的位置错误下面是相对简单的例子:try {foo.bar();} catch (e) {if (e instanceof EvalError) { alert(e.name + ":" + e.message);}...转载 2021-04-12 21:02:55 · 777 阅读 · 0 评论 -
前端调用api接口方法总结(marksheng版)
vue-resource(弃用了已经)this.$http.get().then();this.$http.post().then();this.$http.jsonp().then();axios(常用)GET方式:axios.get().then().catch()注:get方式传参数可以直接跟在url后面,也可以通过param对象传POST方式:axios.post().then().catch()注:post方式传参必须用对象传...原创 2021-04-08 11:30:24 · 3183 阅读 · 0 评论 -
同步异步与执行栈(marksheng背诵简约版)
同步(顺序) 异步(同时)单线程:同步异步是一种概念,真正在工作的是线程 CPU(纳秒级计算)主要由三大部分组成:逻辑运算单元(ALU)、寄存器、控制单元 串行(同步) 并发(有前后顺序) 伪同步 并行(同时完成) 异步主执行栈和任务队列(微任务和宏任务)——事件循环微任务:process.nextTick、MutationObserver 、Promise。宏任务:setTimeout、setInterval 、setImmediate 、requestAnimat...原创 2021-04-01 08:09:20 · 178 阅读 · 0 评论 -
WebPack(现代 JavaScript 应用程序的 静态模块打包工具)
概念本质上,webpack是一个用于现代 JavaScript 应用程序的静态模块打包工具。当 webpack 处理应用程序时,它会在内部构建一个依赖图(dependency graph),此依赖图对应映射到项目所需的每个模块,并生成一个或多个bundle。入口起点(entry point):指示 webpack 应该使用哪个模块,来作为构建其内部依赖图(dependency graph)的开始。输出(output):告诉 webpack 在哪里输出它所创建的bundle,以及...原创 2021-03-30 14:00:20 · 525 阅读 · 0 评论 -
js实现图片懒加载原理(marksheng)
有时候一个网页会包含很多的图片,例如淘宝京东这些购物网站,商品图片多只之又多,页面图片多,加载的图片就多。服务器压力就会很大。不仅影响渲染速度还会浪费带宽。比如一个1M大小的图片,并发情况下,达到1000并发,即同时有1000个人访问,就会产生1个G的带宽。为了解决以上问题,提高用户体验,就出现了懒加载方式来减轻服务器的压力,优先加载可视区域的内容,其他部分等进入了可视区域再加载,从而提高性能。vue项目中的打包,是把html、css、js进行打包,还有图片压缩。但是打包时把css和js都分成了几部原创 2021-01-06 14:52:19 · 223 阅读 · 0 评论 -
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 · 2499 阅读 · 0 评论 -
路由导航守卫有几种,如何实现(marksheng)
一、全局路由守卫所谓全局路由守卫,就是小区大门,整个小区就这一个大门,你想要进入其中任何一个房子,都需要经过这个大门的检查全局路由守卫有个两个:一个是全局前置守卫,一个是全局后置守卫router.beforeEach((to, from, next) => { console.log(to) => // 到哪个页面去? console.log(from) => // 从哪个页面来? next() => // 一个回调函数}router.afterEach(to,fr原创 2021-01-05 14:44:13 · 1680 阅读 · 0 评论 -
Ajax 是什么?以及如何创建 Ajax?(marksheng)
1、Ajax 并不算是一种新的技术,全称是 asychronous javascript and xml,可以说是已有技术的组合,主要用来实现客户端与服务器端的异步通信效果,实现页面的局部刷新,早期的浏览器并不能原生支持 ajax,可以使用隐藏帧(iframe)方式变相实现异步效果,后来的浏览器提供了对 ajax 的原生支持 .2、**使用 ajax 原生方式发送请求主要通过 XMLHttpRequest( 标准浏览器 ) 、 ActiveXObject(IE 浏览器)对象实现异步通信效果 .**原创 2021-01-05 14:39:31 · 121 阅读 · 0 评论 -
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 · 208 阅读 · 0 评论 -
继承的概念(marksheng)
ES5 有 6 种方式可以实现继承,分别为:**1.原型链继承**原型链继承的基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。缺点:1通过原型来实现继承时,原型会变成另一个类型的实例,原先的实例属性变成了现在的原型属性,该原型的引用类型属性会被所有的实例共享。2在创建子类型的实例时,没有办法在不影响所有对象实例的情况下给超类型的构造函数中传递参数。**2.借用构造函数**借用构造函数的技术,其基本思想为:在子类型的构造函数中调用超类型构造函数。优点:1可以向超类传递参数原创 2021-01-05 14:25:27 · 159 阅读 · 0 评论 -
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 · 176 阅读 · 0 评论 -
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 · 835 阅读 · 0 评论 -
http 状态码,和三次握手和四次挥手相关问题(Marksheng)
(1)http 状态码: 1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码2xx (成功)表示成功处理了请求的状态码。常见的 2 开头的状态码有:200 – 服务器成功返回网页3xx (重定向)表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向常见的 3 字开头的状态码有:301(永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应时,会自动将请求者转到新位置。302(临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原...原创 2021-01-05 14:02:39 · 260 阅读 · 0 评论 -
P7面试题库(某企业面试题库)
1、 响应式布局如何实现响应式布局可以让网站同时适配不同分辨率和不同的手机端,让客户有更好的体验。方案一:百分比布局利用对属性设置百分比来适配不同屏幕,注意这里的百分比是相对于父元素; 能够设置的属性有 width、height、padding、margin,其他属性比如 border、font-size 不能用百分比设置的,先看一个简单例子:顶部是利用设置图片 width: 50%来适应不同的分辨率,由于原始图片高度不同,所以第一张图片顶部会有空白,这种情况最好两张图片宽高保持一致,如果使用强制高原创 2020-12-25 11:32:16 · 5730 阅读 · 0 评论 -
git(必备啊)
命令行报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编辑原创 2020-12-19 21:19:32 · 1219 阅读 · 2 评论 -
前端知识解构脑图(一张)和工具
一张图足以让你了解web前端工程师需要做哪些工作以及需要掌握哪些技能。下面就是牛人整理的前端知识体系大全,让各位APP设计师想要转行做前端开发的同学们提供一些参考的文案和网址。1. 布局框架:Bootstrap:http://getbootstrap.com/Foundation:http://foundation.zurb.com/Uikit:http://www.getuikit.com/Web Comp...原创 2020-12-09 11:59:46 · 875 阅读 · 0 评论 -
ajax封装(精简篇)
一、什么是AjaxAjax(Asynchronous JavaScript And XML)是2005年新出现的技术,它的出现是为了解决这样一个场景:整个页面中,只有一小部分的数据需要进行更新,按照传统的前后端交互,我们需要向服务器请求该网页的所有数据,然后再在客户端重新渲染,这无疑是非常低效的操作。因此,Ajax就可以做到只向服务器请求我们想要的那一小部分数据,而不用请求全部数据,进而在刷新整个页面的前提下更新那部分的数据。举个例子,我们去饭店吃饭,然后点了一桌子菜,后来发现其中有一道菜太咸了,因原创 2020-12-08 20:38:41 · 7823 阅读 · 1 评论 -
项目打包优化和防抖节流(最简约)
一、项目打包优化分析工具Coverage:查看代码的使用状况Coverage 是chrome开发者工具的一个新功能,从字面意思上可以知道它是可以用来检测代码在网站运行时有哪些js和css是已经在运行,而哪些js和css是还没有用到的,如图,这是我在打开csdn网页时,所显示的已运行和尚未运行的代码情况。那这个新功能有什么作用呢?如上图所示,最右边显示的是我们加载的css和js文件数量,红色区域表示已运行的代码,而青色表示已加载但未运行的代码。可用来发现页面中尚未用到的js 和 cs...原创 2020-12-08 20:20:10 · 540 阅读 · 0 评论 -
最新Web前端经典面试试题(Marksheng全网最不讲武德的版本)
近期总结一一些面试题 都是企业的面试题笔记题感觉薪资10k下的都会出笔试题 特别高的薪资都是直接技术面试或者是 现场编程总结很多人的面试题,后期会对于单个知识点再说笔记详细讲解。部分都是百度的答案,不是特全面的,可以自己找下同时分享一个自己录制的CSS3动画特效经典案例【推荐教程】--后期会更新vue框架 微信小程序等内容。https://ke.qq.com/course/323252最近录制的ajax从基础到实战的视频,包含原生ajax jquery的ajax 以及a...原创 2020-12-08 19:09:28 · 575 阅读 · 0 评论 -
前端开发应知网站(Marksheng)
文章目录 一、搜索技巧 二、接下来笔者与大家分享一下我个人积累的网站: 1.基础学习类网站 2.开发文档类网站 3.解决开发难点类网站【各种库,插件,开源网站介绍】 4.想要实现快速开发不可不知的 5.各种功能网站 6.在线工具 7.开发人员应知技术 8.前端UI组件库 9.刷题 10.代码托管平台 11.社区类 12.项目合作 13.新闻资讯类 14.书籍类 15.学原创 2020-12-16 09:11:36 · 600 阅读 · 0 评论 -
肚子饿了吖,可是你还没有饿死呢
饿了原创 2020-12-04 20:13:59 · 114 阅读 · 0 评论 -
Web前端面试题(全锦集)
1 第一部分:前端基础(HTML CSS JS基础)1. 怎么让一个不定宽高的 DIV,垂直水平居中?答:1.使用 CSS 方法: 父盒子设置:display:table-cell; text-align:center;vertical-align:middle;Div设置: display:inline-block;vertical-align:middle; 2.使用 CSS3 transform: 父盒子设置:display:rela...原创 2020-12-03 13:07:59 · 12407 阅读 · 0 评论 -
(前端面试题)css到小程序
css如何让一个盒子在水平方向和垂直方向都居中flex display:flex;justify-content:center;//水平居中align-items:center;//垂直居中 grid /* 这里引用复用代码 */.outer { display: grid;}.inner { justify-self: center; /* 水平居中 */ align-self: center; /* 垂直居中 */} absolu...原创 2020-12-03 13:02:39 · 626 阅读 · 0 评论 -
2020前端面试题-wx小程序
前端面试题-wx小程序1.小程序一个页面有几个文件构成?page.js //功能类似javascript,为页面添加各种监听事件page.json //页面配置,设置tab栏,导航条等东西,是一个json文件page.wxml //前端页面,就是html,但语法不太一样page.wxss //页面样式,就是css,但语法不太一样page.js 官方文档 他的主体部分是一个Page()函数,只有参数、没有函数体、含有很多的监听函数 pag..原创 2020-12-03 13:00:20 · 559 阅读 · 0 评论 -
WEB 大前端面试题题库
WEB 大前端面试题注:题目无固定顺序,无标准答案1.什么是深拷贝和浅拷贝?2.如何实现深拷贝?3.setImmediate 和 setTimeout 的区别?4.什么是变量提升?5.什么场景要使用闭包,什么是闭包?6.let 与 var 的区别?7.== 和 === 的区别?8.const 定义的对象中的值可以修改吗?9.说说箭头函数中的 this ?10.如何实现一个Promise ?...原创 2020-12-03 12:56:28 · 512 阅读 · 0 评论 -
Vue面试题(个人总结版吖)
1、简述MVVM和MVCMVC: Model(模型) View(视图) Controller(控制器) 简单的理解:视图请求数据,将请求发送至控制器,控制器再将请求发送给模型,模型去查找数据,找到之后传给控制器,控制器再传给视图进行渲染。MVP:全称:Model-View-Presenter ;MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。MVVMA Model 代表数据模型 Vi原创 2020-12-02 20:50:57 · 427 阅读 · 0 评论 -
浅拷贝与深拷贝的区别(详解)
浅拷贝与深拷贝的区别html浅拷贝与深拷贝一、数据类型数据分为基本数据类型(String, Number, Boolean, Null, Undefined,Symbol)和对象数据类型。基本数据类型的特点:直接存储在栈(stack)中的数据引用数据类型的特点:存储的是该对象在栈中引用,真实的数据存放在堆内存里引用数据类型在栈中存储了指针,该指针指向堆中该实体的起始地址。当解释器寻找引用值时,会首先检索其在栈中的地址,取得地址后从堆中获得实体。二、浅拷贝与深拷贝深拷贝和浅拷原创 2020-12-01 10:36:31 · 89643 阅读 · 10 评论 -
promise使用及实现、async,await、generator函数(详解)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、promise使用及实现、async,await、generator函数的概念二、使用1.Promise2.async,awaitgenerator函数总结前言这节课给大家介绍一下promise使用及实现、async,await、generator函数(详解),具体见下文提示:以下是本篇文章正文内容,下面案例可供参考一、promise使用及实现、async,await、generator函数的概念Promise原创 2020-11-25 21:21:08 · 1130 阅读 · 0 评论 -
原型链(又称变态遗传链,不讲武德,耗子尾汁吧)
JS中的原型链希望能帮你理清Javascript对象与__proto__、prototype和原型链之间的关系。如果暂时看不懂也没关系,这篇文章让你从0变成1。原型链“德罗斯特效应”如果你打开浏览器的控制面板,随便输入一个JS内置的构造器函数,比如Array,控制台输出的是一个名为Array的函数体,这好像并没有什么稀奇的,但是,当你接着输入Array.prototype,控制面板输出了一堆我们经常用到的Array构造器的方法,把目光转移到最下方,有一个叫__proto__的属性,好奇的点开。咦原创 2020-11-24 16:39:12 · 425 阅读 · 6 评论 -
ES6解构赋值/箭头函数及var let const区别
var let const区别:1.是否存在变量提升?var声明的变量存在变量提升(将变量提升到当前作用域的顶部)。即变量可以在声明之前调用,值为undefined。let和const不存在变量提升。即它们所声明的变量一定要在声明后使用,否则报ReferenceError错。2.是否存在暂时性死区?let和const存在暂时性死区。即只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响。在代码块内,使用let命令声明变量之前,该变量都是不可用的。这原创 2020-11-23 20:10:35 · 261 阅读 · 0 评论 -
前端主要学什么?
感谢阅读,接下来会持续更新的原创 2020-11-23 11:50:07 · 1371 阅读 · 1 评论 -
小组协作使用git注意事项
第一步:首先每个小组成员,在自己本地建立一个目录,作为工作空间,再去git clone 这个远程仓库:git clone git@xxxxx:/xxx/xxx.git1第二步:一般的,小组成员需要建立属于自己的分支,每个分支代表着开发不同的功能git branch dev1//创立一个名字叫dev1的分支git branch //查看分支 你会看到: *master dev1这表示,你有两个分支,一个master(正在使用),还有一个新建的dev1分支原创 2020-11-22 23:14:07 · 364 阅读 · 0 评论 -
git本地推到远仓
1、(先进入项目文件夹)通过命令 gitinit 把这个目录变成git可以管理的仓库git init2、把文件添加到本地版本库中,使用命令git add 文件;添加到暂存区里面去,如果后面接小数点“.”,意为添加文件夹下的所有文件git add .3、用命令 git commit告诉Git,把文件提交到仓库。引号内为提交说明git commit -m ‘first commit’4、关联到远程库git remote add origin 你的远程库地址如:git remote add or原创 2020-11-21 11:29:28 · 1348 阅读 · 0 评论 -
git(版本管理控制系统)研究
什么是git:git是版本管理控制系统(vcs),在任何时间点,将文档作为更新的状态的存放及恢复。是记录文件变化的一种方式,方便查阅特定的版本。git安装人为维护版本的问题1.文档命名不清晰且文档的版本混乱2.每次修改都需copy,不方便3.多人编辑,已覆盖分支``:master 现主分支:maingit checkout 分支名 (切换分支)git branch (查看分支)git branch 分支名(创建分支)git merge 来源分支(合并分支)git bra原创 2020-11-20 21:59:05 · 298 阅读 · 0 评论 -
mongodb初识问题集合
mongodb 概念MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。可以在mongodb 里面创建数据库在数据库里面创建 集合在集合里面插入文档查看所有的数据库show dbs;创建数据库 并切换到这个库里面来use 数据库名称创建集合 相当于一个表db.createCollection原创 2020-09-16 15:17:00 · 99 阅读 · 0 评论 -
nodejs中after argument list inlist.ejs while compiling ejs 问题
nodejs中after argument list inlist.ejs while compiling ejs 问题遇到这种情况一般是丢失.也就是符号问题,我自己的话是缺了一个.最后加上就好了圈起来的就是错误处插入链接与图片链接: link.图片: 带尺寸的图片: ![Alt](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF0YXIuY3Nkbi5uZXQvNy83L0IvMV9yYWxmX2h4MTYzY29tLmpwZw =30x30)原创 2020-09-10 07:39:24 · 345 阅读 · 0 评论