js
HainesFreeman
function
展开
-
js复制方法navigator.clipboard兼容性处理,控制台直接执行报错
js复制方法navigator.clipboard兼容性处理,控制台直接执行报错原创 2023-02-07 17:37:48 · 2201 阅读 · 0 评论 -
js或jq 怎么获取alt+s事件
js或jq 怎么获取alt+s事件原创 2023-01-16 11:11:27 · 172 阅读 · 0 评论 -
关于new URL()
关于new URL()原创 2023-01-16 11:04:46 · 763 阅读 · 0 评论 -
require(‘./expample.js).default详解
require(‘./expample.js).default详解原创 2023-01-11 15:26:06 · 551 阅读 · 0 评论 -
JS在文本域鼠标激活的位置,插入指定文本
JS在文本域鼠标激活的位置,插入指定文本原创 2022-11-01 16:53:29 · 609 阅读 · 0 评论 -
el-table-column数据列错位
el-table-column数据列错位,element表格错位原创 2022-09-16 17:44:05 · 1124 阅读 · 0 评论 -
快速清空对象中每个key的value
Object.keys()遍历对象,并快速清空对象key的value原创 2022-09-16 17:05:21 · 710 阅读 · 0 评论 -
受控组件和非受控组件
受控组件和非受控组件原创 2022-08-30 08:55:59 · 1539 阅读 · 0 评论 -
在 vue 中使用 vue-typed-js 实现打字机效果
1、实现打字机效果:一个字一个字出现,再一个字一个字消失,如此循环。2、安装 vue-typed-jsnpm install --save vue-typed-js3、使用import Vue from 'vue'import VueTypedJs from 'vue-typed-js' Vue.use(VueTypedJs)首先是<template></template>标签里的代码,代码如下所示:其中,loop为true是为循环执行;stri原创 2022-05-26 22:25:32 · 3025 阅读 · 5 评论 -
总结:JS中,表达式和语句的区别
表达式:一个表达式会产生一个值,可以放在任何一个需要值的地方形如:a a+b foo(1) arr.map() function test() {}语句:语句一般控制代码的走向形如:if() switch() for()区别:看是否返回一个值...原创 2022-04-22 16:35:36 · 423 阅读 · 0 评论 -
JS正则汇总
最多只能输入2位小数原创 2022-03-22 19:09:38 · 113 阅读 · 0 评论 -
[].shift.call( arguments ) 和 [].slice.call( arguments )
经典的 [].slice.call( arguments ) 关于这个的解释网上有很多,大多是 “把类数组对象转为数组对象”。确实这是我们想要实现的功能! 但这仅仅是说明了结果并没有解答其原理。来点基础知识:[].slice.call( arguments )// 等效于Array.prototype.slice.call( arguments )个人理解:要把arguments 转为数组对象!本着 能少写就少写,能不写就不写的想法,想到slice():可从已有的数组中返回选定的元素。原创 2022-03-14 10:52:17 · 115 阅读 · 0 评论 -
vitepress踩坑
1、代码块不能使用类似泛型<string>这种结构,要用转义符:<string>2、不要使用font标签,不然会报错:TypeError: Invalid value used as weak map key原创 2022-03-08 17:53:47 · 1185 阅读 · 1 评论 -
vue-json-viewer实现JSON效果【高亮、可折叠、可复制】
利用vue-json-viewer插件,利用这个插件,可方便快速实现 高亮,JSON折叠,copy 三种功能 !!!官网地址:https://www.npmjs.com/package/vue-json-viewer效果展示先放最终效果:效果看完,那么我们来上干货了!安装vue-json-viewer插件基于npm的安装:$ npm install vue-json-viewer --save基于yarn的安装:$ yarn add vue-json-view..原创 2022-03-02 11:41:03 · 4091 阅读 · 0 评论 -
js函数的重载
猜测Java中的方法(函数)重载:类里面的两个或多个重名的方法,方法的参数个数、类型至少有一个不一样,构成了方法重载。由于js参数类型都为var,我们由此提出大胆猜测:js函数重载只能通过形参的个数不同来区分。验证<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>js函数重载</title></head>...原创 2022-01-25 11:42:55 · 2960 阅读 · 0 评论 -
数组对象去重
let arrObj = [ { name: "小红", id: 1 }, { name: "小橙", id: 1 }, { name: "小黄", id: 4 }, { name: "小绿", id: 3 }, { name: "小青", id: 1 }, { name: "小蓝", id: 4 }];function fn3(tempArr) { let result = []; let obj = {}; for (let .原创 2022-01-20 15:41:49 · 95 阅读 · 0 评论 -
vuedraggable怎么设置把两个区块直接禁止拖拽?
答案:设置group属性不同的值,即可。代码参考:<template> <div> <!--使用draggable组件--><div class="itxst"> <span>A、B列可以相互拖动,无法拖到C列</span><div class="col"> <div class="title" >A列</div> <draggable v-model="arr1"原创 2022-01-19 13:51:57 · 2097 阅读 · 1 评论 -
element的表头无法更新问题,数据确实更新了
问题:element的表头是从后端动态拿的,第一次渲染没有问题,可是再根据不同的条件查询的时候,传参不同,意味着返回的表头不同,这个时候,数据从后端其实已经拿到了,但是页面视图就是无法更新,真的恶心坏了,试验了很多种方法,包括使用key啊什么,都不行,最终找到一个间接解决的方案,即:使用v-if的方法,让DOM重新渲染。解决:原来的代码: <el-table v-loading="isLoading" :data="tableData" bo原创 2021-12-15 20:31:41 · 2339 阅读 · 0 评论 -
JS 两个数组对象通过比对id 合并成一个新的数组对象
注意:arr1 是基础 把arr2合并到arr1中 ,汇成一个总的arrs 这个arr1中的id 和 arr2中的periodId 是一一对应的。let arr1 = [ {id:64,period:"10:00"}, {id:65,period:"12:00"}, {id:66,period:"14:00"}, {id:67,period:"18:00"},]let arr2 = [ { period:'10:00', periodId.原创 2021-12-15 09:32:25 · 3753 阅读 · 0 评论 -
导出excel,后端返回blob文件
async down() { try { const params = { days: this.queryForm.date.join(','), appid: this.queryForm.appid.join(','), type: this.queryForm.type.join(','), adchannelid: this.queryForm.adchannelid.join(','), sdkVersion: this.que..原创 2021-11-11 17:29:17 · 1037 阅读 · 0 评论 -
vue输入框输入小于等于0的清空提示
DOM: <el-form-item> <el-input v-model.number="child.sort" class="w100" maxlength="10" @input.native="checkoutNumRange($event,0)"></el-input> </el-form-item>JS: checkou原创 2021-11-03 10:33:03 · 1206 阅读 · 0 评论 -
linux中.sh文件是什么?怎么执行?
一、linux中.sh文件是什么? linux中.sh文件是脚本文件,一般都是bash脚本。二、sh文件怎么执行?1、直接./加上文件名.sh,如运行hello.sh为 ./hello.sh【绝对路径下也可以】2、直接sh 加上文件名.sh,如运行hello.sh为sh hello.sh...原创 2021-08-26 09:37:40 · 13826 阅读 · 0 评论 -
Array.prototype.slice.call 将伪数组转成真数组的原理是什么?
问题:第一次看到这个Array.prototype.slice.call,感觉有点懵,这是啥东西啊,该怎么理解啊?很烦恼,现在总结一下自己的理解,希望可以帮到网友答案:首先你应该知道:1.Array是一个构造函数,Array.prototype就是原型对象,原型对象上有很多数组的内置方法,其中就包含slice2.slice()函数2个逻辑关注点,第一是参数,第二是返回值。接收2个参数,第一个参数是开始的索引,第二个参数是结束的索引,返回值是一个新数组,截取后的新数组。不传参数的话,代表是直.原创 2021-08-24 18:09:54 · 276 阅读 · 1 评论 -
类数组转化为真正数组
1.Array.from(arrayLike)2.Array.prototype.slice.call(arrayLike)原创 2021-08-24 17:37:06 · 134 阅读 · 0 评论 -
时间戳转换成标准日期
时间戳好像是13位的纯数字。如:1596297600000我只需要年月日。显示在elementui的日期组件那种格式 //时间戳转换方法 time:需要被转换的时间戳数字 formatDate(time) { var date=new Date(parseInt(time)); var year=date.getFullYear(); var mon = date.getMonth()+1; var day = date.getDat原创 2021-07-25 16:44:22 · 863 阅读 · 0 评论 -
vant日历选择日期格式化
let date = currentDate let seperator1 = '-' let month = date.getMonth() + 1 console.log(month, 'month..11') let strDate = date.getDate() if (month >= 1 && month <= 9) { month = '0' + month } if (strDate >..原创 2021-07-25 16:43:14 · 1884 阅读 · 0 评论 -
js中console.log()和console.dir()的区别
console.log()会在浏览器控制台打印出信息console.dir()可以显示一个对象的所有属性和方法原创 2021-06-25 09:08:16 · 124 阅读 · 0 评论 -
arr.some使用async只执行一次的问题
// 表单校验 validate () { return new Promise((resolve, reject) => { if (this.subQuantityRadio === 2) { this.subQuantityConfig = [] resolve('子广告位success+ 关闭状态') } else { // 子广告位开启状态 let c...原创 2021-06-03 17:47:24 · 374 阅读 · 0 评论 -
一个好的递归
/** * 方法说明 *@method checkPermissionMenu *@param {string} path 路径名称 *@param {array} menu 菜单数组 *@return {boolean} 在菜单中找到路径,返回true,否则返回false,未传递菜单时返回true */const checkPermissionMenu = (path, menu = []) => { if (!menu || !menu.length) { return.原创 2021-06-02 16:04:45 · 60 阅读 · 0 评论 -
JS - 计算两个数组的交集、差集、并集、补集(多种实现方式)
作者:米渃链接:https://zhuanlan.zhihu.com/p/368254016来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。方法一:最普遍的做法使用ES5语法来实现虽然会麻烦些,但兼容性最好,不用考虑浏览器JavaScript版本。也不用引入其他第三方库。1,直接使用 filter、concat 来计算var a = [1,2,3,4,5]var b = [2,4,6,8,10] //交集var c = a.filter(fu.转载 2021-05-25 11:13:05 · 7397 阅读 · 0 评论 -
循环表单校验,只要有一个不符合条件,则中断循环
1.场景:一个循环的表单,需要校验以下内容:-至少添加一项广告源-至少填写排序字段-至少填写排序-只要有一项不符合,则中断循环,不往下执行下去,所以不用forEach(),采用some()方法,some方法只要return true,则终止循环如下图:2.解决方案: // 表单校验 validate () { return new Promise((resolve, reject) => { const messag...原创 2021-05-18 14:04:12 · 1231 阅读 · 0 评论 -
冷门的骚操作
前端已经被玩儿坏了!像console.log()可以向控制台输出图片等炫酷的玩意已经不是什么新闻了,像用||操作符给变量赋默认值也是人尽皆知的旧闻了,今天看到Quora上一个帖子,瞬间又GET了好多前端技能,一些属于技巧,一些则是闻所未闻的冷知识,一时间还消化不过来。现分类整理出来分享给大家,也补充了一些平时的积累和扩展了一些内容。HTML篇浏览器地址栏运行JavaScript代码这个很多人应该还是知道的,在浏览器地址栏可以直接运行JavaScript代码,做法是以javascript:开头后跟原创 2021-04-20 17:30:12 · 115 阅读 · 0 评论 -
JS递归树结构,修改树结构的属性值key和value
后端返回的树形不是我想要的属性,需要前端处理:后端返回的示例:代码: const mapTree = org => { const haveChildren = Array.isArray(org.childList) && org.childList.length > 0; return { key : org.id, value : String(org.id), title: .原创 2021-04-07 17:26:23 · 3789 阅读 · 0 评论 -
for循环里面的break;和continue;语句
break语句哇,我已经找到我要的答案了,我不需要进行更多的循环了!比如,寻找第一个能被5整除的数:for循环中,如果遇见了break语句,这个for循环就会立即终止,不在进行其他的迭代了。 for(var i = 1 ; i <= 100; i++){ console.log(i); if(i == 5){ break;//找到了一个,就立即终止循环 } } break语句只...原创 2021-04-06 10:45:14 · 8455 阅读 · 0 评论 -
32个手写JS,巩固你的JS基础(面试高频)
作为前端开发,JS是重中之重,最近结束了面试的高峰期,基本上offer也定下来了就等开奖,趁着这个时间总结下32个手写JS问题,这些都是高频面试题,希望对你能有所帮助。关于源码都紧遵规范,都可跑通MDN示例,其余的大多会涉及一些关于JS的应用题和本人面试过程01.数组扁平化数组扁平化是指将一个多维数组变为一个一维数组const arr = [1, [2, [3, [4, 5]]], 6];// => [1, 2, 3, 4, 5, 6]复制代码方法一:使用flat()c原创 2021-03-08 17:29:27 · 158 阅读 · 0 评论 -
js判断数组是否有重复值
var arr = [1,2,3,4,5,2,3];if((new Set(arr)).size != arr.length){ alert("数组有重复值")}原创 2020-12-28 15:15:23 · 185 阅读 · 0 评论 -
数组里的字符串转换成数字或者把数字转换成字符串
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];arr.map(String); //结果: ['1', '2', '3', '4', '5', '6', '7', '8', '9']var a = ['1', '2', '3', '4', '5', '6', '7', '8', '9']a.map(Number); //结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]原创 2020-11-02 14:14:55 · 1419 阅读 · 0 评论 -
express中处理json数据
由于express的post没有处理专门处理json数据的机制,因此我们可以添加bodyParser插件来处理json。首先,在项目文件夹中安装插件npm install body-parser然后在app.js中,写明var bodyParser = require('body-parser');app.use(bodyParser.json());app.use(bodyParser.urlencoded({ extended: true }));这样就可以正常的处理jso原创 2020-10-11 18:33:31 · 3348 阅读 · 0 评论 -
JS判断数组里是否有重复元素的方法小结
var ary = new Array("1111", "222", "33", "111", "22");alert(isRepeat(ary));// 验证重复元素,有重复返回true;否则返回falsefunction isRepeat(arr) {var hash = {};for(var i in arr) {if(hash[arr[i]]) {return true;}// 不存在该元素,则赋值为true,可以赋任意...原创 2020-09-24 17:03:05 · 2256 阅读 · 0 评论 -
请描述一下 cookies,sessionStorage 和 localStorage 的区别
相同点:都存储在客户端不同点:1.存储大小cookie数据大小不能超过4k。 sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。2.有效时间localStorage 存储持久数据,浏览器关闭后数据不丢失除非主动删除数据; sessionStorage 数据在当前浏览器窗口关闭后自动删除。 cookie 设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭3. 数据与...原创 2020-07-30 11:03:15 · 1133 阅读 · 0 评论