
javascript
`、ratel
戒骄戒躁,学无止境。
展开
-
vue项目内存溢出导致项目启动失败解决
1、现象随着项目的拓展会出现vue项目启动内存不足导致启动失败,或者启动成功,开发过程中失败的情况Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory//无效的标记压缩接近堆限制分配失败-JavaScript堆内存不足2、方案increase-memory-limit是用来设置node进程可占用的内存,通过设置一个大内存占用来解决该问题首先全局下载该npm包np原创 2021-08-06 15:28:02 · 2731 阅读 · 0 评论 -
函数柯里化学习笔记
1、什么是函数柯里化在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。2、怎么实现简单的函数柯里化// 实现一个简单的加法function add(a,b){return a+b}add(1,2);// 用柯里化实现const currying = (x) => { return (y) => {return x+y}}console.log(cur原创 2021-04-11 16:10:17 · 157 阅读 · 0 评论 -
js判断两个版本号的大小
function compareVersion(v1, v2) { if (v1 == v2) { return 0; } const vs1 = v1.split(".").map(a => parseInt(a)); const vs2 = v2.split(".").map(a => parseInt(a)); const length = Math.min(vs1.length, vs2.length); for (let i = 0; i <原创 2021-01-08 17:43:45 · 4344 阅读 · 3 评论 -
post请求参数格式
HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几种。其中 POST 一般用来向服务端提交数据,本文主要讨论 POST 提交数据的几种方式。我们知道,HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为三个部分:状态行请求行、请求头、消息主体。类似于下面这样:BASH<method> <request-URL> <v转载 2021-01-05 19:40:09 · 2244 阅读 · 0 评论 -
mac关闭所有node开启的服务和进程
mac下关闭所有node开启的服务和进程。pkill node原创 2020-12-31 13:49:50 · 2979 阅读 · 0 评论 -
js通过时间戳生成yymmdd形式的时间字符串
function getTimeStr(timeNum){ var y,m,d,h,mm,s; var date = new Date(timeNum); y = date.getFullYear(); m = date.getMonth()+1; d = date.getDate(); h = date.getHours(); mm = date.getMinutes(); s = date.getSeconds(); m = m < 10 ? "0" + m : m; d =原创 2020-11-06 11:10:49 · 1426 阅读 · 0 评论 -
将图片url转化为base64文件和file类型文件
1、将图片url转化为base64文件和file类型文件 //图转base64 function getBase64Image(img) { var canvas = document.createElement("canvas"); canvas.width = img.width; canvas.height = img.height; var ctx = canvas.getContext("2d"); console.log(img,原创 2020-08-05 17:08:54 · 1409 阅读 · 0 评论 -
移动端vue 遮罩层阻止默认滚动事件
移动端vue 遮罩层阻止默认滚动事件<div class="pop" @touchmove.prevent > //遮罩层元素</div>原创 2020-03-23 19:04:28 · 713 阅读 · 0 评论 -
利用nativefier和electron-winstaller实现将前端网站打包成桌面程序exe文件。
1、首先利用nativefier将前端页面包装成客户端桌面程序。下载 nativefiernpm install nativefier -g然后运行nativefier https://www.baidu.com/你就可以得到一个文件夹里边找到exe文件就是打包好的百度客户端。当然我们也可以将配置项放在文件中方便复用和配置多个参数,新建你的.js文件写入以下代码var nat...原创 2020-01-14 20:15:02 · 1936 阅读 · 0 评论 -
iframe子父页面交互
1、子页面与父页面通信如子页面调用父页面的a函数 window.praent.a();2、父页面与子页面通信如父页面调用子页面的b函数 document.getElementById('iframeId').contentWindow.b();...原创 2019-12-06 17:00:35 · 175 阅读 · 0 评论 -
requriejs 怎么添加版本号 requirejs 清除缓存 requirejs 强制不缓存
在head 里添加如下js代码可以为引入的js添加版本号var _funcList = [];var _run = function (aFunc) { _funcList.push(aFunc);};var require = { urlArgs: ‘v=1.0.1′ // 修改这里的版本号};这样可以使requirejs加载的js都得到一个版本号从而强制浏览器重新加载资源,达...转载 2019-11-21 11:01:26 · 826 阅读 · 0 评论 -
js获取url参数
1、用于获取url中的参数function getQueryVariable(variable){ var query = window.location.search.substring(1); var vars = query.split("&"); for (var i=0;i<vars.length;i++) { ...原创 2019-10-23 21:10:49 · 183 阅读 · 0 评论 -
前端seo优化
1、最近公司项目在做seo优化方面的工作趁机梳理一下个人对seo方面的一些理解seo是什么?SEO(Search Engine Optimization):汉译为搜索引擎优化。是一种方式:利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名。目的是让其在行业内占据领先地位,获得品牌收益。很大程度上是网站经营者的一种商业行为,将自己或自己公司的排名前移。前端seo的优化方向1、语义化标签,根...原创 2019-10-22 21:37:51 · 814 阅读 · 0 评论 -
js 与安卓和ios交互
function getSystemInfoFromApp(){ var u = navigator.userAgent, app = navigator.appVersion; var data = null; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //a...原创 2019-10-22 20:43:54 · 346 阅读 · 0 评论 -
js基本类型之间的数据类型转换
js是一门是一种动态类型、弱类型的语言,开发过程中我们可能经常会遇到类型的显式转换与隐式转换,下面我们就来一起看一下转换的一些规则。1、首先我们要知道雷滢转化的规则就必须知道js的数据都有什么类型,这个比较基础,直接上答案,下面就是js的6种基本类型。1. 字符串(String)2. 数字(Number)3. 布尔(Boolean)4. 对空(Null)5. 未定义(Undefined...原创 2019-06-02 21:19:29 · 509 阅读 · 0 评论 -
js插入排序、快速排序、冒泡排序
快速排序//快排function fastSort(arr){ if(arr.length <= 1 ){ return arr; } let pivotIndex = Math.floor(arr.length/2); let pivot = arr.splice(pivotIndex, 1)[0]; let left = [];...原创 2019-06-09 10:32:47 · 452 阅读 · 2 评论 -
js中setTimeout与Promise执行顺序
今天在公众号上看到一段代码,刚看到的时候遇到了一些问题,下面来看一下。setTimeout(function() { console.log(1);})new Promise(function(resolve, reject) { console.log(2); resolve(3)}).then((res) => { console.log(res)}...原创 2019-06-04 16:56:09 · 1523 阅读 · 0 评论 -
青蛙每次跳一阶或两阶,跳到N阶共有几种可能
原来看到过一个有意思的算法题。要求:青蛙每次跳台阶一阶或者两阶,现在共有N阶台阶,要求打印出所有可能性。思路:首先每一次跳跃都是独立的,我们不知道青蛙下一步到底是跳一阶还是两阶,但好在我们知道它没有那么大的本事,只能跳一阶或者两阶。这样我们就能从这两种可能性中下手。let ww = 0;function jump(currentArr){ let aa = currentArr.r...原创 2019-06-04 17:30:34 · 1496 阅读 · 1 评论 -
js实现浏览器通知、浏览器推送
js实现浏览器通知##这种一直在轮询等到有通知的时候获取权限是否显示通知在这里插入代码片(function(window) { 'use strict'; function Notify() {}; window.Notify = Notify; //设置参数; var options = { noticeList: [], //通知...原创 2019-10-11 10:14:47 · 2541 阅读 · 1 评论 -
正则表达式的预判模式和贪婪模式
1、 预判模式1、适用于需要同时判断多个条件的情况下。2、使用方法为(?=表达式)案例当我们需要验证一个字符串,它必须符合8-15位,必须有大写字母,小写字母,数字,特殊字符,这时候如果我们对每个条件都单独做判断,那会使代码非常多而且冗余,这时候我们的预判模式就登场了。let reg = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~!@#$%^&...原创 2019-06-12 21:30:52 · 419 阅读 · 1 评论