
JavaScript
zlting~
向上的道路从不拥挤~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【VUE】a链接下载跨域文件直接打开而非下载(解决办法)
跨域跨域。原创 2025-01-07 15:23:47 · 732 阅读 · 0 评论 -
JS键盘键捕捉 ctrlKey和shiftKey
【代码】JS键盘键捕捉 ctrlKey和shiftKey。原创 2023-03-10 14:18:24 · 903 阅读 · 0 评论 -
JS 截取数组操作
slice和splice原创 2023-03-09 19:59:01 · 11477 阅读 · 0 评论 -
JS防抖和节流
函数防抖和函数节流都是解决短时间频繁触发某函数而导致的性能问题函数防抖(debounce):在事件被触发n秒后再执行回调函数,如果在这n秒内又被触发,则重新计时函数节流(throttle):规定一个单位时间,在这个单位时间内,只能有一次触发事件的回调函数执行,如果在同一个单位时间内某事件被触发多次,只有一次能生效。使用场景防抖短信验证码提交表单resize 事件input 事件(当然也可以用节流,实现实时关键字查找)节流scroll 事件,单位时间后计算一次滚动位置input原创 2022-02-22 17:56:35 · 228 阅读 · 0 评论 -
EventLoop事件循环、微任务、宏任务理解
Javascript是一门单线程的非阻塞的脚本语言单线程:任何时候都只有一个主线程来处理所有的任务。非阻塞:当代码需要执行异步任务时,主线程会先挂起(pending)该任务,等异步任务返回结果后再根据一定的规则去执行相应的回调。JS主要用途:是与用户互动,以及操作DOM。进程和线程的关系进程:程序的一次执行,占有一片独有的内存空间线程:CPU的基本调度单位,是程序执行的一个完整流程关系:一个进程中一般至少有一个运行的线程:主线程一个进程中也可以同时运行多个线程,说明程序是多线程运行的原创 2022-02-22 16:03:50 · 229 阅读 · 0 评论 -
jquery比较相同元素的高度并获取最高值
在相同的div元素中,获取元素高度最大的值,并设置最大值为元素高度<script>$(function() { var h_max = 0; //定义一个默认变量,并赋值为0,用于比较 $('.ClassName').each(function() { //遍历相同样式名的元素 var h = $(this).height(); //获取每个元素的高度,(可根据需要使用outerHeight、innerHeight) h_max = h > h_max ? h : h_m原创 2021-12-02 13:09:07 · 794 阅读 · 0 评论 -
js中获取窗口高度的方法
一、取窗口可视范围的高度function getClientHeight(){ var clientHeight=0; if(document.body.clientHeight&&document.documentElement.clientHeight) { var clientHeight = (document.body.clientHeight<document.documentElement.clientHeight)?document.body.cl原创 2021-11-30 13:08:48 · 11233 阅读 · 0 评论 -
JS+CSS阿拉伯语(阿语)格式转换
CSS.ar{ width: 100% !important; text-align: right; // 居右 direction: rtl; // 从右向左读 }JS起止年份显示问题: 年份大的居左,年份小的居右;使用正则表达式,找到两组年份,两组年份中间有“-”号,对调两组年份顺序。/** ar format 2019-2021 -> 2021-2019 */formatAr(name) { var str = n原创 2021-05-23 04:17:35 · 1815 阅读 · 0 评论 -
JavaScript——slice(创建新数组)和splice(改变原数组)的区别
splice和splice,看似相同,用法却万全不一样。1、slice slice是指定在一个数组中的元素创建一个新的数组,即原数组不会变var color = new Array('red','blue','yellow','black');var color2 = color.slice(1,2);alert(color); //输出 red,blue,yellow,blackalert(color2); //输出 blue;注意:这里只有第二项一个值2、splice原创 2021-04-14 17:01:26 · 6269 阅读 · 0 评论 -
Vue PC端和移动端适配样式(css样式)
项目需求:XX项目时间赶,主做PC端,移动端是在原有基础上改动,在这一基础上,建议直接采用@media 媒体查询对大小屏幕进行css调整,通过window.screen.width判断屏幕宽度一、需要一个全局globalMixin.js,判断当前屏幕为移动端还是PC端export const GlobalMixin = { data() { return { isApp: false // true:代表移动端,false:代表PC端 } }, crea原创 2021-03-23 20:23:24 · 4700 阅读 · 0 评论 -
JS 实现数字每三位数逗号分隔
Number(num).toLocaleString()例:1234567 —> 1,234,567let num = 1234; let splitNum = Number(num).toLocaleString()console.log(splitNum) // 1,234原创 2021-01-04 13:07:18 · 2063 阅读 · 0 评论 -
ES6判断数组是否存在重复元素
ES6判断数组是否存在重复元素new Set 去重后,判断数组长度与原来是否相等let arr = [1,2,3,4,5];if(new Set(arr).size !== arr.length){ alert(存在相同的元素);}原创 2020-12-31 12:37:15 · 2634 阅读 · 0 评论 -
判断对象 为空对象
判断对象 为空对象不能直接写 obj !== {}而应该将json对象转化为json字符串,再判断该字符串是否为"{}"JSON.stringify(obj) !== '{}'原创 2020-12-25 17:11:31 · 206 阅读 · 0 评论 -
javascript 字符串去掉 空格/ enter键
去掉换行: .replace(/[\r\n]/g,"")去掉空格: .replace(/[ ]/g,"")/** 去掉回车换行-空格 */ formatStr(str) { return str.replace(/[\r\n]/g,"").replace(/[ ]/g,""); },原创 2020-12-24 16:35:05 · 1051 阅读 · 1 评论 -
javaScript 中localStorage方法介绍(搜索历史记录)
localStorage提供了几个方法:1、存储:localStorage.setItem(key,value)如果key存在时,更新value2、获取:localStorage.getItem(key)如果key不存在返回null3、删除:localStorage.removeItem(key)一旦删除,key对应的数据将会全部删除4、全部清除:localStorage.clear()某些时候使用removeItem逐个删除太麻烦,可以使用clear,执行的后果是会清除所有localSto原创 2020-12-23 14:47:19 · 519 阅读 · 0 评论 -
Ajax设置 自定义Header
Ajax设置 自定义Header$.ajax({ type: "POST", url: url, dataType: "json", crossDomain: true, // 允许跨域 xhrFields: { withCredentials: true }, async: false, data: JSON.stringify(param), success: function(data) {原创 2020-12-17 17:34:50 · 1416 阅读 · 0 评论 -
js 获取对象的key和value
获取对象的 keys 数组:Object.keys(obj)获取对象的 values 数组:Object.values(obj)let obj = { name: '张三', age: 30, sex: '男'}console.log(obj)console.log(Object.keys(obj))console.log(Object.values(obj))获取 keys的第一个: Object.keys(obj)[0] // name...原创 2020-12-08 17:06:29 · 10763 阅读 · 0 评论 -
(一)JavaScript-原始值和引用值
原始值和引用值一、基本概念1、原始值指原始类型的值,也叫基本类型例如:Number、String、 Boolean、Null、Undefined存储在 栈(stack),值存储在变量访问的位置2、引用值指引用类型的值例如:Object、Function、Array、Data、RegExp存储在 堆(heap),值是一个指针,指向存储对象的内存处二、原始值和引用值的不同1、赋值方式原始值 是以“值”的拷贝方式赋值,值是不可变的引用值 是以“引用”的拷贝方式赋值,值是可变的2、比原创 2020-12-07 13:35:50 · 551 阅读 · 0 评论 -
forEach循环两个数组对象,并添加属性赋值
let arr1 = [ { name: "集合", category: "大数据基础" }, { name: "类", category: "大数据技术" }, { name: "形式化", category: "大数据标准" }]let arr2 = [ { name: "大数据基原创 2020-10-14 13:45:21 · 4946 阅读 · 0 评论 -
js给数组中的对象添加新属性--Object.assign(target,...sources)
Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。const arr = [ { name:'张三', age: 18 }, { name:'李四' , age: 20}, { name:'张三', age: 21 },]let newArr = arr.map((item,index) => Object.assign(item,{id: index + 1}))console.原创 2020-10-14 10:14:16 · 2093 阅读 · 0 评论 -
数组去重,数组中对象去重,根据数组中对象的某个属性去重
数组去重arr = [1,1,3,2,2,4,5,6,6,1,7]以下三种方法可去重new Set(arr)arr.filter((item,index) => arr.indexOf(item) === index)arr.reduce((unique,item)=> unique.includes(item) ? unique : [...unique,item],[])原创 2020-10-13 16:53:32 · 6080 阅读 · 1 评论 -
JS中的事件、事件冒泡和事件捕获、事件委托
DOM2事件模型此模型是W3C制定的标准模型,现代浏览器(IE6~8除外)都已经遵循这个规范。W3C制定的事件模型中,一次事件的发生包含三个过程,如下图所示:(1).事件捕获阶段,(2).事件目标阶段,(3).事件冒泡阶段。 事件捕获:当某个元素触发某个事件(如onclick),顶层对象document就会发出一个事件流,随着DOM树的节点向目标元素节点流去,直到到达事件真正发生的目标元素。在这个过程中,事件相应的监听函数是不会被触发的。事件目标:当到达目标元素之后,执行目标元素该原创 2020-07-21 15:22:20 · 190 阅读 · 0 评论 -
[ES6]js数组去重——利用 ES6的set 方法
利用Array.from将Set结构转换成数组let arr = Array.from(new Set([0,0,1,2,3,3]))console.log(arr);// (4) [0, 1, 2, 3]Set数据结构,它类似于数组,其成员的值都是唯一的let arr = new Set([0,0,1,2,3,3])console.log(arr);// Set(4) {0, 1, 2, 3}...原创 2020-07-13 09:52:07 · 569 阅读 · 0 评论 -
js 数组操作方法
数组变异方法pop(), push(), shift(), unshift(), splice(), sort(), reverse()unshift()unshift() 往数组最前面添加一个元素, 并返回当前数组的长度push()push() 往数组最后面添加一个元素,并返回当前数组的长度-------------shift()shift()删除数组的第一个元素,并返回删除元素的值pop()pop()删除数组的最后一个元素,并返回删除元素的值spl原创 2020-07-10 14:26:56 · 158 阅读 · 0 评论 -
JSON.stringify()应用
console.log(JSON.stringify(this.queryParams))console.log(JSON.stringify(this.queryParams,null, 2))console.log(JSON.stringify(this.queryParams,['pageSize']))原创 2020-04-13 15:28:49 · 276 阅读 · 0 评论 -
textarea 换行和空格 传值问题
有两种写法dataduty: ' ', //textarea输入框textDuty:[], //展示数据第一种 (v-html绑定)template<el-input v-model="duty" type="textarea" placeholder="请输入机构职责内容" /><div v-html="textDuty" style="text-inde...原创 2020-04-07 18:12:52 · 735 阅读 · 0 评论 -
前端 下载文件简易方法(兼容IE)
VUE下载(Blob文件流)功能实现原创 2020-02-13 13:32:02 · 1830 阅读 · 0 评论 -
避免使用eval
let minShadow = eval("Math.min(" + yAxisDataShadow.toString() + ")") * 0.1;不要使用eval let minShadow = Math.min.apply(null, yAxisDataShadow) * 0.1;问题Math.min([1,2,3]) //NAN解决Math.min.apply(nu...原创 2019-12-28 10:33:34 · 303 阅读 · 1 评论 -
JS获取select下拉框的值
<select id='select'> <option value='+'>+</option> <option value="-">-</option> <option value="*">*</option> <option value="/">/</option> ...原创 2019-07-22 10:25:51 · 259 阅读 · 0 评论 -
JS函数
在JS中,如何创建一个函数?构造函数 ( var fn = new Function(‘a’,‘alert(a)’); )函数表达式( var fn = function(a,b){ console.log(a+b);} )函数声明 ( function fn(a,b){ console.log(a+b);} 没有变量提升问题,可以随处调用)函数返回值不写return...原创 2019-08-24 14:10:12 · 115 阅读 · 0 评论 -
JS 添加页面节点,使用转义字符“/” 拼接传参
var a= '<a href="#" onclick="openTab(\''+submenus[j].menuname+'\',\''+basepath+submenus[j].menuurl+'\')">'+submenus[j].menuname+'</a>'var a= '<a href="#" onclick="openTab('+"'"+submen...原创 2019-07-29 18:04:48 · 1448 阅读 · 0 评论 -
Javascript 5s后返回上级页面
<h2>操作成功</h2> <div> <input id="second" value="5" /> <span>秒后回到主页</span> <input type="button" value="返回" onclick="window.history.back()"/>...原创 2019-07-24 10:04:47 · 249 阅读 · 0 评论