JavaScript
JS随手笔记
大兵的猫
这个作者很懒,什么都没留下…
展开
-
react学习-redux快速体验
redux学习原创 2024-06-15 16:16:46 · 271 阅读 · 0 评论 -
Map深度学习
map底层原理原创 2024-06-10 19:03:06 · 382 阅读 · 0 评论 -
前端使用url实现文件下载
通过后端返回的文件的服务器地址,实现文件的点击下载,而不是直接打开文件(浏览器支持预览的文件,访问地址时会直接打开,不支持预览的文件才会下载),以下方法就会直接打开,而不会在浏览器打开预览原创 2023-10-16 10:32:18 · 1547 阅读 · 0 评论 -
openlayers - 03 点位标注功能
本例实现对地图中的部分点位进行标注,点击标注可以显示基本信息,缩放后会适当对点位进行聚合。原创 2023-05-29 16:29:57 · 1942 阅读 · 0 评论 -
vue3+ts+vuex+自定义指令实现权限控制
vue前端实现权限控制原创 2023-02-22 11:07:53 · 1494 阅读 · 0 评论 -
Intersection Observer API(交叉观察器)实现触底加载
Intersection Observer API原创 2023-01-03 14:56:32 · 372 阅读 · 0 评论 -
根据子节点id查找所有父节点id
根据子节点id反向查找所有父节点id原创 2022-06-17 15:32:40 · 877 阅读 · 0 评论 -
js中使用toFixed()时的精度问题
js中使用toFixed()时的精度问题在js中使用toFixed()进行小数点保存时需要注意的问题,示例如下:由上图可以看出,在通过toFixed(2)获取到的小数实质为字符串,在乘100时进行了转换,而由于浮点数精度问题,造成了计算结果不准确,改进方法如下:先乘100进行计算后在进行取小数点后两位操作。以下多做了几次乘法实例,更加可以看出精度问题导致的计算不准确:参考:IEEE二进制浮点数算术标准(IEEE 754)...原创 2022-03-22 16:50:55 · 1666 阅读 · 0 评论 -
js各种数据类型与布尔值之间的转换
js各种数据类型与布尔值之间的转换数据类型转为true的值转为false的值BooleantruefalseString非空字符串空字符串Number非零数值(包括无穷值)0,NANObject任意对象nullUndefinedN/A(不存在)undefined注:摘自《JavaScript高级程序设计》...原创 2022-03-02 16:37:33 · 450 阅读 · 0 评论 -
forEach 跳出循环
forEach跳出循环foreach不能使用return或者break跳出循环,因为foreach的参数为回调函数,会遍历执行多个回调函数,return会直接跳出执行的当前的回调函数,其他的回调函数会继续执行,而用break会直接报错,最好的办法是抛出异常,捕获到异常终止遍历1.return var arr = [1, 2, 3, 4, 5]; arr.forEach((item) => { if (item === 2) { return;原创 2021-10-15 11:42:43 · 1811 阅读 · 0 评论 -
vue + ant design of vue表单校验
vue + ant design of vue表单校验实现方法总结表单示例为FormModel表单1.通过rules绑定,不需要自定义,适用于一般校验html<a-form-model ref="ruleForm" :label-col="{ span: 6 }" :wrapper-col="{ span: 15 }" :model="formData" :rules="rules" > <a-form-model-item la原创 2021-10-15 10:37:04 · 734 阅读 · 0 评论 -
three.js 纹理贴图
three.js 纹理贴图1.单个图片通过纹理贴图加载器TextureLoader的load()方法加载一张图片可以返回一个纹理对象Texture,纹理对象Texture可以作为模型材质颜色贴图.map属性的值。材质的颜色贴图属性.map设置后,模型会从纹理贴图上采集像素值,这时候一般来说不需要再设置材质颜色.color。.map贴图之所以称之为颜色贴图就是因为网格模型会获得颜色贴图的颜色值RGB。// 纹理贴图映射到一个矩形平面上var geometry = new THREE.PlaneGeo原创 2021-10-13 17:35:23 · 1012 阅读 · 0 评论 -
vue 可搜索树组件封装
vue 数组件封装组件代码:<template> <div class="content"> <div class="tree-item" v-for="(item, index) in data" :key="index"> <div class="item" :class="{ active: choice === item.id, }" :style="{ 'padding-left': padLeft原创 2021-10-12 11:37:40 · 214 阅读 · 0 评论 -
axios 利用CancelToken中断请求
axios 利用CancelToken中断请求1.发送请求处 一般我们将axois请求封装为request.js文件并暴露出接口以便外部使用。在外部调用的过程中,如遇到不符合要求或需要新增的config参数是允许覆盖和新增的,编写如下:import axios from 'axios';import request from '@/utils/request';//这里采用传递executor函数到CancelToken的构造函数来创建cancel tokenconst CancelToke原创 2021-10-12 11:18:02 · 904 阅读 · 0 评论 -
Google Chrome开发插件,在特定网页执行js脚本
Chrome开发插件,在特定网页执行js脚本当想在某些网页网页之中执行自己写的js脚本文件,而又无法直接嵌入别人的源码之中怎么办?可以利用Chrome的插件功能,自己开发配置一款插件,使其浏览器每次打开特定页面时,执行特定的js脚本。具体步骤如下:1.创建一个新的文件夹2.在文件夹中创建配置文件,名称固定为:manifest.json可以利用记事本创建,后缀名改为.json,文件内容如下:字段解释:manifes_version:声明是我们使用的版本。name和description:分别原创 2021-03-12 16:52:05 · 4981 阅读 · 0 评论 -
递归实现深拷贝
递归实现深拷贝var isObject=function(obj){ //判断是否是对象var type=typeof obj;return type===‘function’||type===‘object’&&!!obj;}var deepClone=function(obj){if(!isObject(obj))return obj //如果不是直接返回基本值var result=new obj.constructor(); //如果传入的是数组原创 2020-09-27 00:32:37 · 124 阅读 · 0 评论 -
HTML+CSS+JS实现堆叠轮播
如何通过html+css+js实现堆叠轮播效果:轮播图在向一个方向移动的同时,要对其每一个图片的大小,位置,透明度以及层级进行改变原理:轮播图向左移动时将第一个子元素剪切到末尾,轮播图向右移动时,将末尾子元素剪切到最前面,以此实现无缝轮播效果,再因为li剪切后,下一个li会补上(例如第一个子元素被剪切到最后时,第二个字元素会补上成为第一个子元素),所以li下标不变,以次来修改每一个位置的li的属性(大小,位置,透明度,层级)HTML代码: <body> <div c原创 2020-09-06 17:15:53 · 1482 阅读 · 0 评论 -
数组扁平化/数组拉平
数组扁平化/数组拉平方法一:用ECMAscript 2019 中的flat方法 var arr=[1,[2,3],[4,5],[6,[7,8],9,[[[10,[[11,12],13],14],15,16],17],18]]; arr.flat(Infinity); //参数为层数,默认一层注意:flat和flatMap方法为ES2019(ES10)方法,目前还未在所有浏览器完全兼容。方法二:利用arr.toString(),将数组转换为字符串再利用str.split(‘ ,’),原创 2020-08-09 16:49:04 · 496 阅读 · 0 评论 -
undefined与null的区别
JavaScript中undefined和null的区别undefined表示变量定义了,但没有赋初值。null表示变量定义了,并且赋初值,只是值为空;通常用于变量赋值,当不再需要变量时,将变量设置为null,切断与堆空间的联系,有助于堆内空间释放。...原创 2020-08-06 00:23:04 · 82 阅读 · 0 评论 -
javascript笔记
javascript基础 包含ecmascript,DOM ,BOM事件,各种API语言特征 脚本语言 解释型语言 弱类型语言数据类型基本数据类型 原始值 值类型 number 数字 string 字符串 undefined 未定义 boolean 布尔值 null 空值空对象 引用数据类型 对象(无序集合)为什么要分为基本数据类型和引用数据类型 二者有何区别?1.基本数据类型直接在栈内存中保存数据值,按值访问,数据类型的变量与变量之间是原创 2020-08-06 00:07:02 · 95 阅读 · 0 评论