随笔分类 - JavaScript
摘要:
业务中常见有js操作样式,当我想给元素加个背景颜色时是能生效的,但如果加上了权重!important反而不生效了, 原因是这不是有效的颜色值,你可以把el.style.backGroundColor = '#ccc !important'改为el.classList.add('highLightBg
阅读全文
业务中常见有js操作样式,当我想给元素加个背景颜色时是能生效的,但如果加上了权重!important反而不生效了, 原因是这不是有效的颜色值,你可以把el.style.backGroundColor = '#ccc !important'改为el.classList.add('highLightBg
阅读全文
摘要:
使用 JavaScript 将数组 [1,2,3,4,5,6,7,8,9] 随机打乱(洗牌)。以下是几种常用方法,推荐使用 Fisher-Yates 洗牌算法,这是最标准、最公平的打乱方式。 ✅ 方法一:Fisher-Yates 洗牌算法(推荐) function shuffleArray(arra
阅读全文
使用 JavaScript 将数组 [1,2,3,4,5,6,7,8,9] 随机打乱(洗牌)。以下是几种常用方法,推荐使用 Fisher-Yates 洗牌算法,这是最标准、最公平的打乱方式。 ✅ 方法一:Fisher-Yates 洗牌算法(推荐) function shuffleArray(arra
阅读全文
摘要:
1. 以 (, [, `, /, +, - 开头的行 这些字符可能被解释为上一行的延续,导致意外结果。 经典案例: const a = 1 [1, 2, 3].forEach(console.log) // 报错:试图将 [1,2,3] 当作 1 的属性访问 正确写法: const a = 1; [
阅读全文
1. 以 (, [, `, /, +, - 开头的行 这些字符可能被解释为上一行的延续,导致意外结果。 经典案例: const a = 1 [1, 2, 3].forEach(console.log) // 报错:试图将 [1,2,3] 当作 1 的属性访问 正确写法: const a = 1; [
阅读全文
摘要:
URLSearchParams是es6中的一个内置类,用于处理URL查询字符串的解析和构建。当你使用decodeURIComponent解码字符串后再把新的字符串传给URLSearchParams时,后者会进行重新编码,也就是不管你解不解码,URLSearchParams都会对传入的数据进行编码。
阅读全文
URLSearchParams是es6中的一个内置类,用于处理URL查询字符串的解析和构建。当你使用decodeURIComponent解码字符串后再把新的字符串传给URLSearchParams时,后者会进行重新编码,也就是不管你解不解码,URLSearchParams都会对传入的数据进行编码。
阅读全文
摘要:
const result = a.map((item, index) => { // 从指定项开始,例如第3项 if (index < 2) return item; // 从第3项开始,用数组b对应项的 某个值(number) 替换 数组a的 某个值(title) const bItem = b[
阅读全文
const result = a.map((item, index) => { // 从指定项开始,例如第3项 if (index < 2) return item; // 从第3项开始,用数组b对应项的 某个值(number) 替换 数组a的 某个值(title) const bItem = b[
阅读全文
摘要:
fetch('接口地址', { method: 'GET', // 请求方法 }) .then(response => { if (!response.ok) { console.log(`HTTP error! Status: ${response.status}`); } return resp
阅读全文
fetch('接口地址', { method: 'GET', // 请求方法 }) .then(response => { if (!response.ok) { console.log(`HTTP error! Status: ${response.status}`); } return resp
阅读全文
摘要:
1、json序列化以及反序列化 let a = JSON.parse(JSON.stringify(b)) 2、使用lodash库插件 没有的话先安装: npm i lodash 使用方式: import { cloneDeep } from 'lodash'; let a = cloneDeep(
阅读全文
1、json序列化以及反序列化 let a = JSON.parse(JSON.stringify(b)) 2、使用lodash库插件 没有的话先安装: npm i lodash 使用方式: import { cloneDeep } from 'lodash'; let a = cloneDeep(
阅读全文
摘要:
我们都知道const用于定义一个常量,并且给该常量赋值时就会报错,这是不允许的,那么如果时定义一个变量呢?例如一个对象? const定义了一个变量(对象/数组),我们可以改变该变量的属性,比如上图中的对象a.b,但是a不能被赋值给其他对象。 原因:const定义了一个对象a,由于const保证引用地
阅读全文
我们都知道const用于定义一个常量,并且给该常量赋值时就会报错,这是不允许的,那么如果时定义一个变量呢?例如一个对象? const定义了一个变量(对象/数组),我们可以改变该变量的属性,比如上图中的对象a.b,但是a不能被赋值给其他对象。 原因:const定义了一个对象a,由于const保证引用地
阅读全文
摘要:
push():向数组的末尾添加一个或多个元素,并返回新的长度。 pop():删除并返回数组的最后一个元素。 shift():删除并返回数组的第一个元素。 unshift():向数组的开头添加一个或多个元素,并返回新的长度。 splice():通过删除或替换现有元素或者添加新元素来修改数组,并以数组形
阅读全文
push():向数组的末尾添加一个或多个元素,并返回新的长度。 pop():删除并返回数组的最后一个元素。 shift():删除并返回数组的第一个元素。 unshift():向数组的开头添加一个或多个元素,并返回新的长度。 splice():通过删除或替换现有元素或者添加新元素来修改数组,并以数组形
阅读全文
摘要:
原始数据类型(7):Number、String、Boolean、Null、Undefined、Symbol、BigInt; 对象类型(7):Object、Array(用于存储多个值的特殊对象)、Function、Date、RegExp、其他内置对象(Map、JSON等)、自定义对象(new一个对象,
阅读全文
原始数据类型(7):Number、String、Boolean、Null、Undefined、Symbol、BigInt; 对象类型(7):Object、Array(用于存储多个值的特殊对象)、Function、Date、RegExp、其他内置对象(Map、JSON等)、自定义对象(new一个对象,
阅读全文
摘要:
ES6,即ECMAScript 2015,js的一个重量级版本,相较于ES5,它更新了一些新特性以及语法。 let和const关键字:用于声明变量。 let:定义块级局部变量。 const:定义常量,注意:如果是定义对象或数组,那么该对象或数组中的值可被改变,但引用不能改变。 箭头函数:提供了一种更
阅读全文
ES6,即ECMAScript 2015,js的一个重量级版本,相较于ES5,它更新了一些新特性以及语法。 let和const关键字:用于声明变量。 let:定义块级局部变量。 const:定义常量,注意:如果是定义对象或数组,那么该对象或数组中的值可被改变,但引用不能改变。 箭头函数:提供了一种更
阅读全文
摘要:
js中原型(Prototype)和原型链是两个东西,且彼此相关。 原型:js中的对象。 原型链(Prototype Chain):获取js中对象的方式。 例: function iuniko(e) { this.value = e; } 我们创建了一个iuniko的函数,并分配了一个对象,我们获取该
阅读全文
js中原型(Prototype)和原型链是两个东西,且彼此相关。 原型:js中的对象。 原型链(Prototype Chain):获取js中对象的方式。 例: function iuniko(e) { this.value = e; } 我们创建了一个iuniko的函数,并分配了一个对象,我们获取该
阅读全文
摘要:
1.表单验证 function validateForm() { var name = document.forms["myForm"]["name"].value; if (name == "") { alert("Name must be filled out"); return false;
阅读全文
1.表单验证 function validateForm() { var name = document.forms["myForm"]["name"].value; if (name == "") { alert("Name must be filled out"); return false;
阅读全文
摘要:
var box = document.createElement("div"); document.body.appendChild(box); for (let i = 0; i < 9; i++) { var p = document.createElement("p"); box.append
阅读全文
var box = document.createElement("div"); document.body.appendChild(box); for (let i = 0; i < 9; i++) { var p = document.createElement("p"); box.append
阅读全文
摘要:
一:传统写法 // 定义: function handleDate(date){ this.idate = new Date(date).getTime(); console.log(this.idate); this.resolveDate = function() { console.log('
阅读全文
一:传统写法 // 定义: function handleDate(date){ this.idate = new Date(date).getTime(); console.log(this.idate); this.resolveDate = function() { console.log('
阅读全文
摘要:
以下是前端面试中关于JavaScript的一些常见问题及其答案,共包含超过50个问题: 1. 解释一下JavaScript中的变量提升(Hoisting)。变量提升是指在JavaScript中,变量和函数的声明会被提升到其所在作用域的最顶部。但需要注意,只有声明会被提升,赋值操作不会。 2. 解释一
阅读全文
以下是前端面试中关于JavaScript的一些常见问题及其答案,共包含超过50个问题: 1. 解释一下JavaScript中的变量提升(Hoisting)。变量提升是指在JavaScript中,变量和函数的声明会被提升到其所在作用域的最顶部。但需要注意,只有声明会被提升,赋值操作不会。 2. 解释一
阅读全文
摘要:
为什么要记录,因为很少遇到这种奇葩的需求,后端要我不要返回对象中所有值为-1的字段,我就纳了闷了,你就不能自己处理吗?? 好了,不吐槽了,主要是较少去处理遍历对象的操作(历来都是遍历数组),所以在这里做个记录: let params = { a: 10, b: 6, c: -1, d: 11, e:
阅读全文
为什么要记录,因为很少遇到这种奇葩的需求,后端要我不要返回对象中所有值为-1的字段,我就纳了闷了,你就不能自己处理吗?? 好了,不吐槽了,主要是较少去处理遍历对象的操作(历来都是遍历数组),所以在这里做个记录: let params = { a: 10, b: 6, c: -1, d: 11, e:
阅读全文
摘要:
let arr = [{ id: 123, name: "666" }]; let res = arr((obj, item) => { obj[item.id] = item.name; return obj; }, {}); 结果👆
阅读全文
let arr = [{ id: 123, name: "666" }]; let res = arr((obj, item) => { obj[item.id] = item.name; return obj; }, {}); 结果👆
阅读全文
摘要:
代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>d
阅读全文
代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>d
阅读全文
摘要:
前言:return无法跳出forEach循环? (() => { var a = [1, 2, 3, 4, 5]; a.forEach((e, k) => { if (k == 2) return ""; console.log(k); }); console.log(" forEach retur
阅读全文
前言:return无法跳出forEach循环? (() => { var a = [1, 2, 3, 4, 5]; a.forEach((e, k) => { if (k == 2) return ""; console.log(k); }); console.log(" forEach retur
阅读全文

浙公网安备 33010602011771号