随笔分类 - js
摘要:const num = 5 try { if (num 5) { throw new Error('num不能为5') } } catch (e) { console.log(e) // 打印出Error对象:Error: num不能为5 console.log(e.message) // 打印:n
阅读全文
摘要:for...in本身是Object的遍历方法,js中的数组也继承自Object,所以也能够使用for...in遍历出属性。然而for...in遍历数组时有一些细节需要注意。 1、for...in遍历的属性是字符串,而不是数字 const arr = [1, 2, 3] for (const i in
阅读全文
摘要:const a = [1, 2, 3, 4, 5, 6, 7, 8] const b = [5, 5, 1, 2] const c = [3, 9] // 判断arr1是否包含arr2 const isInclude = (arr1, arr2) => arr2.every((val) => arr
阅读全文
摘要:function mergePropertyById(arr, property) { const tempIds = [], newArr = [] for (const item of arr) { if (!tempIds.includes(item.id)) { const obj = {
阅读全文
摘要:一、reduce方法接收2个参数 参数1:function(accumulator, currentValue, index, arr) {},必须 accumulator:必须,初始值(initialValue)或计算后的返回值(上次调用函数的返回值) currentValue:必须,当前元素 i
阅读全文
摘要:使用场景: input事件没办法知道我们在使用中文输入法,所以当我们在输入框中编辑中文的时候,按下字母的那一刻就开始触发input事件。 使用compositionstart和compositionend可以对此情况进行优化 需求: 根据用户输入的文字过滤列表选项 实现: <template> <d
阅读全文
摘要:// 判断一个字符串是否是json格式 export const isJson = str => { try { const jsonObj = JSON.parse(str) if ('string' typeof str && 'object' typeof jsonObj) return tr
阅读全文
摘要:在forEach中使用异步函数,会导致执行到await时跳出循环 解决办法: 1、使用for循环 const images: Array<object> = [] for (const { originFileObj } of fileList) { images.push({ src: await
阅读全文
摘要:分析: 页面操作不会整页刷新:正常情况下,点击浏览器的前进后退按钮页面会重新请求(刷新按钮转圈圈~),但有时是不需要每次都重新请求的,题目的意思应该是优化一下,减少请求 第一种方式:通过锚点操作url的hash值 1、页面中设置锚点,在点击锚点时页面不会刷新,但此时hash值是会发生变化的,我们可以
阅读全文
摘要:isNaN:判断传入的参数是否能被转换成数字,如果可以转换为数字,返回false;如果不能转换为数字,返回true Number.isNaN:判断传入的值是否全等于NaN,如果是NaN,返回true,其他值都返回false 如果判断一个值是否为NaN,应当使用Number.isNaN 使用isNaN
阅读全文
摘要:https://www.cnblogs.com/wisewrong/p/9951388.html
阅读全文
摘要:js的概念: js是解释性语言。解释性:逐行解析,逐行执行 js的组成: 语法核心ECMAScript 文档对象模型DOM 浏览器对象模型BOM 所谓的渲染页面,就是返回一堆html,html和DOM的区别? html是一段字符串,浏览器解析html生成一个树型结构的文档对象,以方便js操作,这个就
阅读全文
摘要:console.log(a) var a = 3 function a(){} 打印:ƒ a() {} 解析: 1、函数声明会置顶,变量声明会置顶,函数声明比变量声明更置顶 2、变量声明和赋值一起写(var),js引擎解析时会将其拆分成声明和赋值两部分,声明置顶,解析保留在原来位置(这里仅指var方
阅读全文
摘要:这个列表是有分页的,如何与后端接口传参,正确的设置核心决策人? 主要问题场景: 第一页选中前2个,第二页选中前2个,然后只将第一页取消勾选,此时第二页已勾选的人员怎么传递? 第一次进入该页面,只加载第一页10条数据,此时,一个都没有选中,上划,加载第二页,分别选中第一页的前2条和第二页的前2条,提交
阅读全文
摘要:1、新建auto_click文件夹,目录如下 manifest.json { "name": "定时刷新", "version": "0.5", "manifest_version": 2, "description": "定时诊断", "icons": { "16": "./images/32.p
阅读全文
摘要:import * as XLSX from 'xlsx'; export function getXlsxData(file: any) { return new Promise((resolve, reject) => { const fileReader = new FileReader();
阅读全文
摘要:
for (let year = 2000; year <= 2060; year++) { const str = String(year) .split('') .reverse() .join('') const month = str.substring(0, 2) const day = s
阅读全文

摘要:定义:Object.defineProperty(object, propName, descriptor)为对象定义新的属性,或者对某个属性进行修改,并将这个对象返回出来 object:对象 给谁加 propName:属性名 要添加的属性的名字,是一个字符串 descriptor:属性描述 要加的
阅读全文
摘要:定义: Object.assign()是ES6新增的方法,用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target),并将目标对象返回出来。 const target = { a: 1 } const source1 = { b: 2 } const source2 =
阅读全文
摘要:漏洞存在场景: NO1、使用target='_blank',且无rel="noopener"或rel="noopener noreferrer"属性。 NO2、使用window.open,但第二个参数使用默认值(即以_blank或默认方式打开)。 这两种使用情况都存在安全漏洞。 修复方法: 针对NO
阅读全文