- 博客(104)
- 资源 (2)
- 收藏
- 关注
原创 鸿蒙初级考试备忘
页面生命周期,即被@Entry装饰的组件生命周期,提供以下生命周期接口:onPageShow:页面每次显示时触发一次,包括路由过程、应用进入前台等场景。onPageHide:页面每次隐藏时触发一次,包括路由过程、应用进入后台等场景。onBackPress:当用户点击返回按钮时触发。aboutToAppear:组件即将出现时回调该接口,具体时机为在创建自定义组件的新实例后,在执行其build()函数之前执行。
2025-03-14 09:29:28
979
原创 【概念整理】Web Component
Web Component是一套允许你创建可重用的定制元素的技术,它允许我们创建一个包含html结构、js脚本和css样式的可复用组件。主要用作自定义元素结构的基础。attributeChangedCallback: 当自定义元素的一个属性被增加、移除或更改时被调用。disconnectedCallback: 当自定义元素与文档DOM断开连接时被调用。connectedCallback: 当自定义元素第一次被连接到文档DOM时被调用。adoptedCallback: 当自定义元素被移动到新文档时被调用。
2024-10-16 16:51:27
454
原创 【概念整理】CDN预热和CDN刷新
把CDN所有节点上对应的缓存资源标记为失效,当用户再次请求时,CDN会直接回源站获取对应的资源并返回给用户,同时将资源重新缓存到CDN节点。刷新功能会降低缓存命中率。源站主动将对应的资源缓存到CDN节点,用户首次请求资源时,即可直接从CDN节点获取到最新的资源,无需再回源站获取。预热不仅提高缓存命中率,还降低了源站的压力。
2024-10-15 14:13:04
293
原创 prefetch, preload, dns-prefetch,preconnect ,defer和async整理
在 Chrome 中默认已经开启对静态资源的 dns 预解析,所有的a标签的href都会自动去启用DNS Prefetching,也就是说,网页的a标签href带的域名,是不需要在head里面加上link手动设置的,但是标签的默认启动在HTTPS不起作用,需要设置。dns-prefetch指令可以在尚未访问 url 的时候提前做 dns 解析缓存(和其他页面加载并行执行),从而在真正请求 url 的时候避免对 dns 服务器的解析,达到加速网页加载的目的。
2024-10-11 11:54:18
518
原创 var、let、const 整理
谈到变量,就要说作用域,JS作用域可以分为两类:全局作用域 和 局部作用域(函数作用域),作用域限定了变量作用的范围。var声明的变量存在变量提升,可重复定义。const 声明常量,指向的栈地址不能改变,声明必须赋值。...
2023-11-13 13:45:15
144
原创 package。json
~,^的区别是~的意思是匹配最近的小版本 比如~1.2.3将会匹配所有的1.2.x版本,但不匹配1.3.0, 1.2.0 <= ~1.2.3 <1.3.0^的意思是最近的一个大版本 比如1.2.3 将会匹配 所有 1.x.x 包括1.3.0 但不包括2.0 1.0.0 <= ^1.2.3 < 1.x.x...
2023-11-13 13:44:52
128
原创 js函数的私有属性和方法、静态属性和方法、实例属性和方法、原型属性和方法
function Test(name) { this.name = name // 实例属性 this.say = function() { // 实例方法 console.log(this.name) } let age = 14 // 私有属性 function sing() { // 私有方法 console.log("sing") }} Test.lan.
2023-11-13 13:42:55
180
原创 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
原创 js数据处理时遇到的坑
项目中多次遇到浮点数计算问题,众所周知,js在计算浮点数时候,结果可能会不准确,因为浮点数的小数部分无法用二进制很精准的转换出来,而以近似值来进行运算的话,就存在精度的问题因为项目中规定保留两位小数,但接口返回数据存在几种情况,数字型整数、数字型小数、字符串型整数、字符串型小数,导致考虑情况需要全面。初版,通过*100将两位小数转化为整数处理let arr = ['10000','3621.27','10000','10000']let result = arr.reduce(function(pr
2021-12-20 16:28:10
497
原创 百度地图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
1107
原创 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
1702
原创 XLSX.js 解析excel日期不准确(暂时处理,未找到更好解决方案)
excel文件上传,使用XLSX插件进行数据解析;在做文件上传的时候,发现月初和月末的日期获取不准确;单元格格式设置为日期
2021-08-12 10:25:20
770
原创 前端实现打印
// 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
384
原创 antd confirm 样例 this.$createElement 样例
antd confirm 使用this.$createElement
2021-08-10 14:13:49
805
原创 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
原创 记录(待学习任务)
const h = this.$createElement;let that = thisthis.$confirm({ title: h('div', {}, [ "确定要删除", h("span",{style: "color:red;"},`${info.name}及其下`), "吗?" ]), async onOk() { // await that.delete(info); }, onCa
2021-05-24 10:49:48
168
原创 动态设置上下容器高度(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
原创 vue 修饰符整理
事件修饰符stoppreventcaptureselfoncepassive按键修饰符keyup按键码修饰符entertabdeleteescspaceupdownleftright系统修饰符ctrlaltshiftmeta鼠标按键修饰符leftrightmiddle表单修饰符lazynumbertrim...
2021-01-14 11:49:42
174
原创 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
2139
1
原创 axios中payload
最近, 在新做项目中遇到一个问题,我的return axios({ url: '/df/rpay/income/input/insertAgencyIncomeInput.do', headers: { 'content-type': 'application/json;charset=UTF-8' }, method: 'post', data,})
2020-11-26 19:37:02
648
原创 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
151
原创 http 记录
ajax中 get请求传递参数 有个参数中包含了空格,将参数对象传入data中后,浏览器默认将空格转为+号,需要将该参数使用encodeURI() 转换
2020-10-30 16:59:13
163
原创 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
258
原创 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
122
原创 vue watch监听属性
基本用法watch:{ data(newVal, oldVal) { // 操作 }}高级用法watch:{ data:{ handler(newVal, oldVal){ // 操作 }, immediate: true, // 默认首次不会触发,设置为true首次可触发 deep:true // 深度监听 }}...
2020-10-08 21:45:27
133
原创 前端下载(jquery 踩坑记录)
最近在做一个功能,是调用一个后台接口实现excel表格下载的功能。后端返回的是一个arrayBuffer,前端采用的是jquery ajax。下载方式:<a href="下载地址" download="文件名.后缀">下载</a>前端请求接口,后端返回网络地址,前端使用浏览器打开即可实现下载。window.open(后端返回的地址)前端请求回的地址,动态生成a标签下载。后端返回的是一个文件(arrayBuffer)前端本地读取excel 1readAsArray
2020-08-26 11:06:09
302
原创 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
295
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
192
原创 vue 中使用window.location不能跳转(待补充)
项目中因为有个地方需要跳转第三方页面,所以使用了window.location.href 进行跳转,出现问题:可以跳转至https页面不可以跳转至http页面解决方法:http页面尾部加了个 /原因: 待补充
2020-07-31 16:04:18
5260
原创 前端排序算法整理
冒泡排序选择排序冒泡排序冒泡排序冒泡排序冒泡排序冒泡排序比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。function bubbleSort(arr) { for(let i = 0; i < arr.length - 1; i++) { .
2020-07-28 16:11:43
165
原创 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
204
原创 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
166
原创 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
190
calendar.vue
2020-07-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人