
前端
文章平均质量分 50
云胡不喜?
无舟难自渡,无解不疯魔
展开
-
编译报错 - Missing trailing comma comma-dangle or Missing semicolon semi
这种错误通常出现在使用代码格式检查工具(如ESLint)时,具体是在JSON或者JavaScript对象、数组的最后一个元素后面缺少了逗号(trailing comma)。在某些编码标准中,要求在对象的最后一个属性或数组的最后一个元素后面加上逗号,以便在添加新的属性或元素时保持代码的一致性。缺少分号,找到对应的地方加上就可以了。2.在ESLint的配置文件(例如。1.点到对应的地方加上逗号;原创 2024-04-24 16:07:39 · 1673 阅读 · 0 评论 -
ES6内置对象 - Set
es6提供的一种数据结构,类似数组,是一个集合,可以存储任何类型的元素且唯一、不重复,so,多用于元素去重。Set取数据不能用下标取,而是用遍历取。如上图,Set数据结构自带一些方法。原创 2024-02-22 19:53:32 · 667 阅读 · 0 评论 -
elementUI-MessageBox 弹框之$prompt
输入框的类型 默认text, 文档比较简洁没有列举其他的type,其实input的type有很多,比如file,date,比如这里我写的textarea也是OK的;2.inputValidator 输入框的校验函数。val)return '放弃原因必填'},之前写都没有记录,今天记录一下,文档上没有写的关于$prompt内容提交的校验。原创 2023-05-16 19:34:20 · 6160 阅读 · 2 评论 -
npm-npm i XX --save 和--save-dev
开发时所用到的依赖生产用不上的(eg. 打包用的相关依赖等)可以直接安装到devDependencies下面。),直接看好了,哈哈~原创 2023-02-10 19:16:28 · 1023 阅读 · 0 评论 -
js-笔记-数据类型判断
今天偶然看到一篇文章typeof 和 instanceof 的区别,文章末尾的console.log(Number instanceof Number);//false console.log(String instanceof String);//false 有点迷,当时想着Number和String为啥不instanceof 它们自己呢???就测试了一下Number是啥,结果他们本身是个Function!!好嘛,想了一下也是,它可以new,创建实例啥的Object是functio..原创 2022-04-20 23:29:43 · 326 阅读 · 0 评论 -
vue-笔记 - $router&$route
链接:vue router的$router和$route及router与 route的区别_JackieDYH的博客-优快云博客_vue中router和route的区别$router全局,用于导航;$route局部,当前路由所含有的一系列信息。$router “路由实例”,是一个全局对象,其包含了路由的跳转方法,钩子函数等。$route是“路由信息对象”,是一个局部对象,其包含name、path、fullpath、params、query、hash、matched等路由信息。.原创 2022-04-20 22:29:56 · 437 阅读 · 0 评论 -
vue - 项目创建(vue2+vue3)
1.打开终端以管理员身份运行//全局安装脚手架npm i -g @vue/cli 然后怎么创建官网有写创建一个项目 | Vue CLI一、创建vue2项目因为现在直接安装的脚手架版本都是最新的,所以想创建vue2项目,还得拉取 2.x 模板 (旧版本)Vue CLI >= 3 和旧版使用了相同的vue命令,所以 Vue CLI 2 (vue-cli) 被覆盖了。如果你仍然需要使用旧版本的vue init功能,你可以全局安装一个桥接工具:npm install...原创 2022-04-20 02:29:55 · 1726 阅读 · 0 评论 -
JavaScript简介-1
JavaScript(JS) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。JavaScript 是一种基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。(原型编程是一种面向对象编程的风格。在这种风格中,我们不会显式地定义类,而会通过向其它类的实例(对象)中添加属性和方法来创建类,甚至偶尔使用空对象创建类。简单来说,这种风格是在不定义class的情况下创建一个object。)Brendan是JavaScript之父JavaS...原创 2022-03-02 19:13:23 · 955 阅读 · 0 评论 -
构建一个虚拟DOM并转换为真实DOM
关于真实DOM与虚拟DOM1.在学习虚拟DOM之前,让我们先来了解一下真实的DOM结构,这里不得不提的是关于浏览器渲染方面的知识。 当浏览器拿到一个HTML文件,首先会根据HTML文件构建出一个DOM树来,并行加载CSS文件,图片,JS脚本,值得注意的是DOM树的渲染和CSSOM渲染是并行执行的,而不是串行进行的。 (JS脚本需要在html尾部加载,或是写入window.onload方法里,让DOM加载完成后再去加载JS脚本,防止进程阻塞,JS脚本是同步加载的)。 在构建完DOM树和C.转载 2021-12-16 17:28:26 · 957 阅读 · 0 评论 -
蓝绿部署&滚动部署&金丝雀发布(灰度发布)&A/B测试
在一般情况下,升级服务器端应用,需要将应用源码或程序包上传到服务器,然后停止掉老版本服务,再启动新版本。但是这种简单的发布方式存在两个问题,一方面,在新版本升级过程中,服务是暂时中断的,另一方面,如果新版本有BUG,升级失败,回滚起来也非常麻烦,容易造成更长时间的服务不可用。为了解决这些(服务中断、失败回滚、……)问题,人们研究出了多种发布策略。部署1、蓝绿部署 – BlueGreenDeploymentIt’s basically a technique forreleasing your.转载 2021-12-07 17:05:58 · 401 阅读 · 0 评论 -
前端模块规范AMD/UMD/CommonJs
.babelrc文件中的:module设置为false,为什么会要设置成false?解释:使ES6模块语法转换到另一个模块类型(默认启用“commonjs”)。 设置为假则不变换模块。或者传入(“amd”、“umd”,“systemjs”、“commonjs”)。什么是模块?Javascript的组件生态在最近几年的发展很给力,我们的可选性更加广泛了。这本是一件好事,但是当多个第三方Javascript在一起混合使用的时候,我们可能会遇到一个很尴尬的问题,那就是不是所有的组件都能在一转载 2021-12-06 18:29:34 · 1905 阅读 · 0 评论 -
nvm安装 node版本报错npm命令不存在
因为项目需要用低版本的node,所以采用了nvm来切换node版本,想装v10.13.0版本的node,但是直接nvm install v10.13.0时,报以下错误(已经没有截图了),如下:Error while creating C:\Program Files (x86)\nvm\v14.exe - open C:\Program Files (x86)\nvm\v10.13.0\node64.exe: Access is denied. Could not download node.js v原创 2021-11-24 16:24:02 · 4863 阅读 · 0 评论 -
NVM-切换多个node版本
使用场景:同时做几个不同的项目,其中Angular(2.0&4.0)项目需要用老的node版本来支持,但新的vue项目需要用14以上的node版本,导致冲突。这时候就需要用nvm来管理node版本了。先去下载nvm并安装; // 查看当前所有的node版本 * nvm list // 安装指定的版本( eg. nvm install v10.13.0) * nvm install xxx //设置使用版本号 ( eg. nvm use 10.13.原创 2021-11-24 15:44:46 · 697 阅读 · 0 评论 -
input输入框获取焦点时,光标置于最右
需求是在修改客户名称时,获取焦点,需把光标置于最右,方便用户操作;<input v-model="customerName" @focus="nameFocus($event)" @blur="setClueName()"/> // 获取焦点,光标位置 nameFocus(e){ const editTask = e.srcElement; const length = editTask.value.length; editTask.focus();.原创 2021-11-03 13:54:20 · 2538 阅读 · 0 评论 -
接口响应的Response Header打印不出全部值问题
后端在每一次接口请求成功时都会更新token值,会在response header中返回。前端在HTTP请求拦截统一处理,每次都会更新vuex store里的用户信息。但是 在打印时发现,我的电脑打印OK,其他小伙伴的电脑不行!?经排查发现是浏览器跨域问题。我的谷歌浏览器跨域了,都能打印到全部值,小伙伴的只有Content-Type...跨域:没跨域:...原创 2021-10-13 17:23:02 · 1220 阅读 · 0 评论 -
Angular2 - [innerHTML] && pipe(把字符串里的 /n 替换成 <br/>)
/** * Created by Echo_hx on 2021/05. * 把字符串里的 /n 替换成 <br/> */import { Pipe, PipeTransform } from '@angular/core';@Pipe({name: 'hDataBr'})export class DataBrPipe implements PipeTransform { transform(value: any) { return value.repla...原创 2021-05-31 16:09:10 · 512 阅读 · 0 评论 -
forEach-关于跳出循环
forEach(1)不能使用 continue 和 break !(for可以-continue过滤当前循环;break直接终止循环,跳出整个循环)(2)使用return,只能跳出当前循环,并不能跳出整个循环,更不会终止循环。(3)通过抛出异常的方式可以实现终止循环,跳出整个循环,如下示例:let arr = [{a:'1',b:'2',c:'3'},{a:'11',b:'22',c:'33'}];try { arr.forEach((val) => { i原创 2021-04-27 16:46:18 · 2573 阅读 · 0 评论 -
四款优秀的源代码扫描工具简介
转载于:https://www.cnblogs.com/xiaominggong/archive/2019/05/06/10821005.html一、DMSCA-企业级静态源代码扫描分析服务平台端玛企业级静态源代码扫描分析服务平台(英文简称:DMSCA)是一个独特的源代码安全漏洞、质量缺陷和逻辑缺陷扫描分析服务平台。该平台可用于识别、跟踪和修复在源代码中的技术和逻辑上的缺陷,让软件开发团队及测试团队快速、准确定位源代码中的安全漏洞、质量和业务逻辑缺陷等问题,并依据提供的专业中肯的修复建议,快...转载 2020-12-18 16:56:06 · 11038 阅读 · 1 评论 -
JS疑惑-2(作用域)
与JS疑惑-1有些关联,但也有点迷。。。function func(){ var a =b =5;}func();typeof(a); // "undefined"typeof(b); //"number"待续。。。原创 2020-12-04 16:34:24 · 114 阅读 · 0 评论 -
JS疑惑-1(连续赋值)
蛮疑惑的,主要还是 a.x = a = {n: 2};连续赋值有点懵。a={n: 2};a.x = a; ? ? ?看到一篇JS基础-连续赋值的博客,看图大概能明白一些,但还是有点点不确定。先记录一下,多思考思考吧var a = {n: 1};var b = a;a.x = a = {n: 2};console.log(a.x) // undefinedconsole.log(b.x) // {n: 2}...原创 2020-12-04 15:23:37 · 116 阅读 · 0 评论 -
你知道的各种形状(CSS实现各种形状)
转载于:https://juejin.cn/post/6900785241233817608单纯通过CSS我们就可以实现页面的形状样式。CSS绘制的形状随着屏幕分辨率的提高不会出现变形失真的问题,值得推荐。三角形利用四边border不同以及颜色的transparent实现<div class="triangle"></div><style> .triangle{ width: 0; height: 0; b.转载 2020-11-30 18:15:18 · 918 阅读 · 0 评论 -
vue中 使用md5加密
安装npm install js-md5 --save组件内引入需要的组件内引用import md5 from 'js-md5';使用let psd = '123123'md5(psd) // 4297f44b13955235245b2497399d7a93全局引入在main.js中将md5注入到vue原型上import md5 from 'js-md5';Vue.prototype.$md5 = md5;使用:let psd = '12312转载 2020-09-03 11:41:41 · 5380 阅读 · 0 评论 -
JS-常用方法整理
// TODO 整理原理ES6中有一些直接写好的方法//判断某字段在数组中的位置 indexofArray(arr:any, obj:any) { let i = arr.length; while (i--) { if (arr[i] === obj) { return i; } } } //判断数组中是否..原创 2020-05-27 10:46:00 · 189 阅读 · 0 评论 -
进入大厂的面试经验(P7)
此文转载自 https://juejin.im/post/5e664bdd6fb9a07cd80f3192,作者:mapbar_front个人近期面试情况今年二月以来,我的面试除了一个用友的,基本其他都被毙了,可以说是非常残酷的。其中有很多自己觉得还面的不错的岗位,比如百度、跟谁学、好未来等公司。说实话,打击比较大。情况基本上是从三月开始好起来的,这个时间点,可能疫情快过去了,国...转载 2020-04-09 18:10:15 · 1893 阅读 · 0 评论 -
第三方免费开放API 获取用户IP 并查询其地理位置
需求:有一个项目是微信公众号,属于汽车服务。当车主在填写车主资料或者车辆认证时,需要填写车牌号或者车架号;车牌号需要选择省,为了方便用户操作,所以想自动定位默认省,如下图:我查询了一些博客,找到了一些方法,经过测试,记录一下还能用的。方法一:搜狐API有时候cname这个字段返回的不是省市,因为在2/3/4G网络时,定位失败,但是IP还是可以用的,亦可以配合第二种方法使用。...原创 2020-01-13 18:48:57 · 3975 阅读 · 2 评论 -
手机上用的是的WAP协议 电脑上的是HTTP协议 这两个有什么不同
1,CMWAP和CMNET只是中国移动人为划分的两个GPRS接入方式。前者是为手机WAP上网而设立的,后者则主要是为PC、笔记本电脑、PDA等利用GPRS上网服务。它们在实现方式上并没有任何差别,但因为定位不同,所以和CMNET相比,CMWAP便有了部分限制,资费上也存在差别。 2,为了从应用中区别两者的定位,中国移动对CMWAP作了一定的限制,主要表现在CMWAP接入时只能访问GPRS网络内的...转载 2018-06-07 11:29:03 · 1736 阅读 · 0 评论 -
浏览器兼容性问题解决方案 · 总结
浏览器兼容性问题解决方案 · 总结普及:浏览器的兼容性问题,往往是个别浏览器(没错,就是那个与众不同的浏览器)对于一些标准的定义不一致导致的。俗话说:没有IE就没有伤害。贴士:内容都是自己总结的,不免会出现错误或者bug,欢迎更正和补充,本帖也会不断更新。Normalize.css不同浏览器的默认样式存在差异,可以使用 Normalize.css 抹平这些差异。当然,你也可以定制属于自己业务的 r...转载 2018-05-24 09:57:49 · 1132 阅读 · 0 评论 -
APICloud方法
转载于官网 https://docs.apicloud.com/Front-end-Framework/framework-dev-guide#1 ...转载 2018-05-14 09:18:56 · 3171 阅读 · 0 评论 -
js中几种实用的跨域方法原理详解
此文转载于https://www.cnblogs.com/2050/p/3191744.html这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据。只要协议、域名、端口有任何一个不同,都被当作是不同的域。下表给出了相对http://store.company.com/dir/page.htm...转载 2018-05-11 11:57:36 · 134 阅读 · 0 评论 -
前后端常见的几种鉴权方式
此文章转载于https://blog.youkuaiyun.com/wang839305939/article/details/78713124,收藏,学习!重构以前产品的前端代码,摈弃了以前的session-cookie鉴权方式,采用token鉴权,忙里偷闲觉得有必要对几种常见的鉴权方式整理一下。目前我们常用的鉴权有四种:HTTP Basic Authenticationsession-cookieToke...转载 2018-05-10 17:09:12 · 622 阅读 · 0 评论 -
Angular变化检测机制:改善的脏检查
本文链接:https://blog.youkuaiyun.com/fen747042796/article/details/75152336前端展示的页面是由视图和数据共同构成的,视图模板定义了页面的框架,而数据定义了页面具体的显示内容。而数据发生变化的时候,我们需要及时将变化的内容更新到视图中,否则用户看到的数据就是不正确的。系统及时感知到数据模型的变化,然后通过计算更新到视图中,这是每个前端框架都需要解决...转载 2018-03-28 21:01:26 · 1029 阅读 · 0 评论 -
webpack 入门
http://blog.youkuaiyun.com/kun5706947/article/details/525967661、npm install -g webpack 全局安装webpacknpm install --save-dev webpack 在本项目总安装webpack2、npm init 初始化pack.json文件webpack app/main.js(入口文件) public...转载 2018-04-03 14:55:29 · 133 阅读 · 0 评论 -
单点登录原理与简单实现
创未来 2016-11-29 16:09一、单系统登录机制1、http无状态协议web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的某些资源,必须...转载 2018-08-01 16:25:45 · 112 阅读 · 0 评论 -
单点登录的三种实现方式
单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。单点登录在大型网站里使用得非常频繁,例如像阿里巴巴这样的网站,在网站的背后是成百上千的子系统,用户一次操作或交易可能涉及到几十个子系统的协作,如果每个子系统都需要用户认证,不仅用户会疯掉,各子系统也会为这种重复认证授权的逻辑搞...转载 2018-08-01 16:30:21 · 1800 阅读 · 0 评论 -
div模拟textarea文本框,输入文字高度自适应,且实现字数统计和限制
需求:文本框可根据输入内容高度自适应,不带滚动条,高度可变的那种,我搜索了很多,发现textarea无法实现我的需求,scrollHeigh这个无法获取实际内容的高度(我用的是那种简单的,可能我写的哪里不对吧;那种代码很多的,我又不想那么去做,麻烦。。。),所以只能div模拟textarea文本框了。使用div模拟textarea文本框,输入文字高度自适应,且实现字数统计和限制,输入字数超...原创 2019-05-20 16:29:45 · 2057 阅读 · 0 评论 -
HTTP-post请求重定向后变成了GET请求
昨天在调用一个post方法去请求一个接口时,结果我的谷歌浏览器只显示调用了一次,并且请求方法变成GET了,如下图,很神奇呀!!!很困惑,同样的POST请求方法,换成其他的URL去请求确实是POST方法,且能请求成功,我的这个URLpost请求就变成GET了,百思不解(因为一开始没有注意到HTTP转换成HTTPS)。所以遇到这种情况,检查一下URL是HTTP还是HTTPS!!!以下是遇到的情...原创 2019-05-15 16:22:54 · 22393 阅读 · 0 评论 -
console对象的方法log()、info()、warn()、error()区别及几个实用的方法
先说一下console,JavaScript 原生中默认是没有 Console 对象,这是某些浏览器提供的内置对象。在不同的浏览器里显示可能不同log()、info()、warn()、error()区别1、 log()和info() 这两个没区别,看别人有说info()前有个蓝色的图标,不过我使用的谷歌浏览器运行时没有 因为没有运行出来,下面...转载 2019-03-25 18:39:10 · 5820 阅读 · 0 评论 -
CSS自定义checkBox复选框- 对勾样式
有checkBox复选框需求时,我们所用的框架样式不符合,所以需要自己写 对勾样式,当然用图片也OK。效果图:html: <div class="msg-position c-bg-wt"> <p>推送岗位<i class="c-rd">*</i>  ...原创 2018-11-23 12:57:42 · 14799 阅读 · 0 评论 -
面试题:如何实现一个深拷贝
转载于:元光木易杨前端大全20190228如何实现一个深拷贝第一步:简单实现其实深拷贝可以拆分成 2 步,浅拷贝 + 递归,浅拷贝时判断属性值是否是对象,如果是对象就进行递归操作,两个一结合就实现了深拷贝。根据上篇文章内容,我们可以写出简单浅拷贝代码如下。//木易杨functioncloneShallow(source){vartarget={};...转载 2019-03-01 18:12:13 · 692 阅读 · 0 评论 -
VUEJS-checkbox全选&全不选
全选&全不选html: <div class="msg-position c-bg-wt"> <p class="msg-position-p">推送岗位<i class="c-rd">*</i> <span> ...原创 2018-11-23 12:50:20 · 2570 阅读 · 0 评论