
前端
肥喵蒙太奇
这个作者很懒,什么都没留下…
展开
-
连续箭头函数
1原创 2022-10-27 19:35:48 · 263 阅读 · 1 评论 -
机器数、真值、原码、反码、补码概念
机器数、真值、原码、反码、补码概念原创 2022-02-22 14:27:03 · 6157 阅读 · 0 评论 -
TypeScript 学习笔记 (2小时极速入门 TypeScript)
‘## 大纲理论基础——开发环境——编译原理——工作流程——相关工具基础类型学习数字、布尔、字符串、数组、元组、联合、枚举、any、unknow、void、undefined、never面向对象泛型、class、interface、module、nameSpace(命名空间)、元编程meta-programming(装饰器)了解TypeScript 工作流安装typescriptnpm install -g typescript检测typescript是否安装tsc -v使用原创 2021-12-21 16:57:57 · 827 阅读 · 0 评论 -
百度地图JavaScript API自定义控件使用记录
某页面中使用了百度地图,需要将自有的城市列表控件嵌套进一个自定义控件中var cityCtrl = new BMapGL.CityListControl();// 单独使用var map = new BMapGL.Map("allmap"); // 创建Map实例map.centerAndZoom(new BMapGL.Point(116.404, 39.915), 11); // 初始化地图,设置中心点坐标和地图级别map.enableScrollWheelZoom(true);原创 2021-12-09 16:13:48 · 1109 阅读 · 0 评论 -
xhr读取文件流错误信息
var oReq = new XMLHttpRequest();oReq.open("POST","url/test", true);oReq.responseType = "blob";oReq.onload = function (oEvent) { if(oReq.status === 200){ const content = oReq.response; const blob = new Blob([content],{type : 'applicat原创 2021-09-08 15:51:19 · 1703 阅读 · 0 评论 -
XLSX.js 解析excel日期不准确(暂时处理,未找到更好解决方案)
excel文件上传,使用XLSX插件进行数据解析;在做文件上传的时候,发现月初和月末的日期获取不准确;单元格格式设置为日期原创 2021-08-12 10:25:20 · 770 阅读 · 0 评论 -
前端实现打印
// window.print()// 获得要打印元素的内容// 保存当前页面的整个html// 把当前页面替换为打印内容// 执行打印操作// 还原当前页面 let screenFullHtml = document.body.innerHTML let printHtml=document.getElementById('printCont').innerHTML; document.body.innerHTML = printHtml; window.print() documen原创 2021-08-10 14:23:08 · 385 阅读 · 0 评论 -
vue 上传下载(原生)
做项目时,需要上传文件,但是按钮是循环渲染出来的,并使用this.$refs.file.click()提示File chooser dialog can only be shown with a user activation.修改为<input type="file" ref="upload" @change="uploadFile" accept=".xlsx, xls" style="display: none"/>this.$refs.upload.dispatchE原创 2020-12-26 16:27:01 · 2147 阅读 · 1 评论 -
asios相关补充 并发 取消请求 配置
并发请求// 并发请求: 同时进行多个请求,并统一处理axios.all([ axios.get('/data.json'), axios.get('/city.json'),]).then( asios.spread((dataRes,cityRes)=>{ }))常用参数配置asios 全局配置axios.defaults.timeout = 3000axios.defaults.baseURL = "http://localhost:8080"原创 2021-06-07 17:16:41 · 169 阅读 · 0 评论 -
npm 记录
npm install npm@4.6.1 -g原创 2021-05-07 14:26:47 · 153 阅读 · 0 评论 -
动态设置上下容器高度(jquery)
最近做项目遇到一个需求,需要上下表格可以动态调节大小。效果如下:结构为wrapper为父容器common-tabbed-content是子容器,dividingLine为分割线html 结构<div id="wrapper"> <div class="common-tabbed-content" id="payGridArea"></div> <div id="dividingLine"></div> <div id="div原创 2021-01-14 17:48:22 · 505 阅读 · 0 评论 -
jquery 根据分辨率初始化按钮区域
initButtons = function(btnlist,btnAreaId){ try{ /** 获取按钮区域宽度*/ var boxWidth = document.querySelector("#btnAreaId").offsetLeft if ( btnlist.length > 0 ) { /** 遍历按钮列表*/ for ( var i = 0,len = btnlist.length; i < len; i+原创 2020-11-26 11:00:27 · 153 阅读 · 0 评论 -
http 记录
ajax中 get请求传递参数 有个参数中包含了空格,将参数对象传入data中后,浏览器默认将空格转为+号,需要将该参数使用encodeURI() 转换原创 2020-10-30 16:59:13 · 165 阅读 · 0 评论 -
http请求记录
Query String Parametershttp头部包含的参数,后台使用query string parameter 形式接收。get请求没有请求体。Request Payloadpost请求参数。请求头Content-Type为application/json或multipart/form-data ,Form Data原创 2020-10-30 16:56:32 · 260 阅读 · 0 评论 -
jquery一些问题记录
ajaxdata中传递参数,直接传对象,会放在form data中,不管设置的contentType是不是json,放json字符串才会放到request payloadvar tempParams = {aaa: 888}$.ajax({ url: '/url' type: "POST", dataType: "json", async: false, data: JSON.stringify(tempOptions), success: functio原创 2020-10-15 20:40:52 · 124 阅读 · 0 评论 -
前端下载(jquery 踩坑记录)
最近在做一个功能,是调用一个后台接口实现excel表格下载的功能。后端返回的是一个arrayBuffer,前端采用的是jquery ajax。下载方式:<a href="下载地址" download="文件名.后缀">下载</a>前端请求接口,后端返回网络地址,前端使用浏览器打开即可实现下载。window.open(后端返回的地址)前端请求回的地址,动态生成a标签下载。后端返回的是一个文件(arrayBuffer)前端本地读取excel 1readAsArray原创 2020-08-26 11:06:09 · 303 阅读 · 0 评论 -
js 正则记
replace并不会改变原有字符串var str = 'I? love ?? the ?great ? ?wall in ?beijing'var arr = str.match(/[\?][a-z]/g)// console.log(arr)for(let i=0;i<arr.length;i++) { let temp = arr[i].toUpperCase() console.log(arr[i],temp) str.replace('the', '8') console.lo原创 2020-08-14 14:05:42 · 297 阅读 · 4 评论 -
ECMAScript常用整理
ECMAScript 2019 (ES10)Array.prototype.flat()Array.prototype.flatMap()重写toString()方法可选的捕获Array.prototype.flat()用于数组扁平化,递归地将数组展平到我们指定的深度。如果未指定depth参数,则默认值为1。var newArray = arr.flat([depth]);depth 选择性,指定巢状阵列展开的深度。预设为1。var arr1 = [1, 2, [3, 4]];ar原创 2020-08-02 13:38:35 · 193 阅读 · 0 评论 -
vue 中使用window.location不能跳转(待补充)
项目中因为有个地方需要跳转第三方页面,所以使用了window.location.href 进行跳转,出现问题:可以跳转至https页面不可以跳转至http页面解决方法:http页面尾部加了个 /原因: 待补充原创 2020-07-31 16:04:18 · 5263 阅读 · 0 评论 -
前端排序算法整理
冒泡排序选择排序冒泡排序冒泡排序冒泡排序冒泡排序冒泡排序比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。function bubbleSort(arr) { for(let i = 0; i < arr.length - 1; i++) { .原创 2020-07-28 16:11:43 · 169 阅读 · 0 评论 -
vue transition 使用
transition<div id="demo"> <button v-on:click="show = !show"> Toggle </button> <transition name="fade"> <p v-if="show">hello</p> </transition>...原创 2020-07-22 10:58:45 · 206 阅读 · 0 评论 -
js易错题
第一题:考点:map 和 parseIntvar arr = ['10','20','10','10']var newArr = arr.map(parseInt)console.log(newArr)// [10, NaN, 2, 3]parseIntparseInt(str, [radix])string 必需。要被解析的字符串。radix 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。如果省略该参数或其值为 0,则数字将以 10 为基础来解析。parseInt(1原创 2020-07-20 21:34:26 · 168 阅读 · 0 评论 -
js 函数使用中的记录
函数的引用和函数的调用函数的调用简单解释为函数的使用函数中定义的函数,需要return 出来才可以使用。function fn() { fn1 = function() {console.log(1)} fn2 = function () { console.log(2) }; // console.log(this) // return this; return { fn1: fn1, fn2: fn2 }}fn().fn2()j原创 2020-07-19 00:10:56 · 194 阅读 · 0 评论 -
vue 写一个日历组件
移动端组件,预期效果如图原创 2020-07-17 17:25:37 · 699 阅读 · 1 评论 -
一些前端概念整理
防抖节流重排重绘防抖节流重排重绘原创 2020-07-17 15:28:01 · 225 阅读 · 0 评论 -
[js]递归(待更新)
const pathList = [ '/a/b', '/a/2/c', '/d']const root = {}construct(pathList , root )console.log(root)function construct (pathList, root) { }/*{ "a": { "2": { "c": {} }, "b": {} }, "d": {}}*/第二道const items = [原创 2020-07-09 16:21:07 · 220 阅读 · 0 评论 -
js 原型、继承整理
JavaScript 常被描述为一种基于原型的语言 (prototype-basedanguage)——每个对象拥有一个原型对象,对象以其原型为模板、从原型继承方法和属性。原型对象也可能拥有原型,并从中继承方法和属性,一层一层、以此类推。这种关系常被称为原型链 (prototype chain),它解释了为何一个对象会拥有定义在其他对象中的属性和方法。准确地说,这些属性和方法定义在Object的构造器函数(constructorfunctions)之上的prototype属性上,而非对象实例本身。通过.原创 2020-07-04 22:41:38 · 207 阅读 · 0 评论 -
js中this问题
function fn(name){ this.name = name; }var a = new fn('123'); console.log(a.name); // yyy//this碰到return时function fn(name){ this.name = name; return {}; // undefined // return function(){}; // // return undefined; // yyy原创 2020-06-30 22:42:58 · 125 阅读 · 0 评论 -
前端跨域通信整理
同源策略限制从一个源加载的文档或者脚本与来自另一个源的资源进行交互。同源策略是一种用于隔离恶意文件的安全机制。所谓的同源,指的是协议,域名,端口相同。跨域通信的几种方式:JSONPWebSocketCORSHashPostMessageJSONP原理通过script标签异步加载实现。如使用script标签引入外部文件。JSONP只支持GET请求。实现例一<script src="http://www.test.com/?data=data&callback=m原创 2020-06-29 22:46:11 · 282 阅读 · 0 评论 -
js浏览器事件循环机制
宏任务(macro-task)、微任务(micro-task)JavaScript 单线程中的任务可以细分为宏任务和微任务。宏任务包括:script(整体代码)setTimeoutsetIntervalsetImmediateI/OUI rendering微任务包括:process.nextTickPromisesObject.observeMutationObserverjs执行过程整段代码作为宏任务进入主线程执行。遇到了异步任务,一种进行事件注册,等指定的时间后原创 2020-06-27 19:41:53 · 313 阅读 · 0 评论 -
js for-in for-of for-each
for-infor-in循环主要用于遍历对象格式:for(key in obj){...}循环遍历对象自身和继承的可枚举属性(不含Symbol)某些情况下,随机顺续进行循环function Person(name, age) { this.name = name; this.age = age;}var person = new Person('张三', 15)Person.prototype.nationality = "English";for(var i in原创 2020-06-22 22:08:35 · 335 阅读 · 0 评论 -
http记录
HTTP三点注意事项:HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。HTTP是媒体独立的这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数原创 2020-06-04 15:54:46 · 270 阅读 · 0 评论 -
面试题记
字符串校验奇偶数并删除let str = 'this1_is2_a3_test4_for5_regexp6'console.log(str)let pattern = /[0-9]*[02468]/g// let temp2 = str.match(pattern)// console.log(temp2)let temp = str.replace(pattern, '')cons...原创 2020-05-11 14:55:07 · 208 阅读 · 0 评论