
JS
文章平均质量分 69
JS
小丁学Java
这个作者很懒,什么都没留下…
展开
-
深入解析 JavaScript 中的 handleNumber 方法:千位分隔与格式化!!!
handleNumber 是一个用于将数字格式化为带千位分隔符字符串的 JavaScript 方法。它通过正则表达式实现,适用于前端展示金额、库存等数据。然而,该方法存在一些局限性,如未处理 undefined、null 或非数字输入,不支持小数,且零值返回 0 而非用户友好的格式。优化方案包括改进异常处理、零值显示,并支持小数部分。优化后的方法能更好地适应实际需求,提升用户体验。原创 2025-05-15 17:22:00 · 781 阅读 · 0 评论 -
前端“空”袭警报? 详解 Vue 中列表提交空数组之谜!(v2.0)
阶段行为 / 状态关键点 / 原因 (item是对象)页面加载initData()执行初始化为undefined用户操作未输入任何点击“保存”触发校验对每个item执行,返回true对(为undefined) 的校验逻辑有误,未能阻止过滤执行回调对每个item对象执行,检查,因是undefined全部返回false过滤结果.filter()返回空数组[]没有对象item通过测试映射执行输入数组为空,map的回调不执行映射结果.map()返回新的空数组[]赋值payload被赋值为[]原创 2025-04-30 17:57:48 · 1092 阅读 · 0 评论 -
同名不同“命”?深入对比 Java 与 JavaScript 中的 `||` 操作符!!!
总的来说,Java 和 JavaScript 中的||Java||:更像是一个严谨的逻辑学家🧐,严格遵守类型规则,只处理和输出布尔真假,专注于纯粹的逻辑判断。JavaScript||:更像是一个灵活的工具人🛠️,不拘泥于类型,能根据值的“真实性”返回原始值,因此除了逻辑判断,还解锁了设置默认值的便捷用法(虽然有时需要注意0和""的 Falsy 陷阱,这时??是更好的选择)。理解了这些差异,我们就能在不同的语言环境中更自信、更准确地使用||这个看似简单却内有乾坤的操作符啦!希望这篇对比能帮到你!😉。原创 2025-04-27 21:03:14 · 795 阅读 · 0 评论 -
JS 里的“保底”大师:|| 运算符的神奇默认值魔法 ✨
逻辑或||操作符凭借其短路求值和对 Truthy/Falsy 的判断,成为了 JavaScript 中设置默认值的经典技巧。它简洁易懂,在很多场景下非常方便。但是,一定要记住它会将所有 Falsy 值(包括0和"")都触发默认值替换。如果0或""对你的逻辑来说是有效值,那么更精准的空值合并运算符??才是你的最佳选择!👍理解这些细微差别,能让你的代码更健壮、更符合预期!希望这篇分享对你有帮助!😊。原创 2025-04-27 20:44:11 · 873 阅读 · 0 评论 -
深入解析Java与JavaScript数组的length属性:动态与静态的博弈!!!
Java数组的length•静态特性:Java数组长度在初始化时确定,无法修改。// 长度固定为3// ❌ 编译错误:Cannot assign a value to final variable 'length'•语法规则length是数组的属性,通过访问(如arr.length核心差异总结•Java:静态、安全、高效,适合确定长度的场景。•JavaScript:动态、灵活、易用,适合动态数据管理。通过理解两者的设计哲学,开发者能更高效地选择适合的数组策略!🚀。原创 2025-04-06 19:54:43 · 630 阅读 · 0 评论 -
深入理解 JavaScript/TypeScript 中的假值(Falsy Values)与逻辑判断 ✨
在 JavaScript 中,以下值在布尔上下文(如if条件、&&||运算)中会被自动转换为falsefalse0, -0, 0n // 数值0、负零、BigInt 0""(空字符串) // 注意:' '(含空格的字符串)是 truenullundefinedNaN // 特殊数值:Not a Number理解假值清单:牢记区分空字符串和空白字符串' '是真值谨慎处理数字0:使用value!== 0单独判断善用 TypeScript 类型系统if (!user) return "无名用户"原创 2025-03-21 20:27:19 · 732 阅读 · 0 评论 -
解密 JavaScript 的 ... 魔法:浅拷贝还是深拷贝?带你一探究竟!
是浅拷贝的典型应用,但结合整个函数的逻辑,它构建了一个独立的对象。浅拷贝够用时,何必深拷贝呢?😄希望这篇博客让你对...的魔法多了一份理解!有问题欢迎留言,咱们下期再见!👋。原创 2025-03-17 20:22:03 · 822 阅读 · 0 评论 -
解锁 ?. 的秘密武器:从代码崩溃的噩梦到前端开发的救命稻草!✨
代码崩溃”是指程序因未处理的错误(如TypeError)而中断执行,导致功能失效。想象一下,车在路上撞上障碍物,如果没有缓冲,车毁人伤;有了?,就像装了安全气囊,车还能跑!“检查”并不是说content需要一个?,而是指整个表达式res?.data?.content在执行时,必须确认res.data存在后,才能安全访问。如果需要更深层嵌套(例如),则需要继续使用?.data?.content?.items;?原创 2025-03-15 16:54:18 · 1144 阅读 · 0 评论 -
小程序里为何偏爱 var?从一段代码看 var、let 和 const 的较量!
小程序里为何偏爱 var?从一段代码看 var、let 和 const 的较量!原创 2025-03-13 17:47:53 · 637 阅读 · 0 评论 -
点击事件的数据传递过程(JS)
这个和点击事件直接相关原创 2025-02-08 17:30:39 · 867 阅读 · 0 评论 -
JS-项目实战-点击水果名修改特定水果库存记录
其中,type 属性值为 "hidden",name 属性指定了参数名,value 属性指定了参数的值。在表单中可以定义多个隐藏域,它们的值会在表单提交时一起被 发送到服务器端。在 服务器端,程序可以通过接收这些参数来完成相应的操作。隐藏域的名称和值必须和服务器端处理代码中的参数名称和参数值一致,否则服务器无法正确解析表单数据。需要注意的是,由于隐藏域中存储的数据可以被用户轻易地查看和修改,因此隐藏域中应该存储不敏感和经过验证的数据。在处理敏感数据时,应该采用其他更安全的方式,例如使用 HTTPS 协议进行原创 2023-11-16 22:54:17 · 473 阅读 · 0 评论 -
JS-项目实战-新增水果库存功能实现
在JS中往表格里插入数据,可以通过以下步骤实现:获取对应的表格元素,可以使用document.getElementById、document.querySelector等方法获取。创建需要插入的数据,可以使用数组、JSON对象等形式。循环遍历数据,使用insertRow和insertCell等方法动态创建表格行和单元格。在单元格中填充数据,可以使用innerHTML属性或者textContent属性。原创 2023-11-16 20:51:57 · 378 阅读 · 0 评论 -
JS-新增水果库存记录表单页面实现
//NodeList 转化成 Array 的三种解决方法: // 1、//let ckArr2 = Array.prototype.slice.call(ckArr); //$("#ckAll").checked = ckArr2.every(item => item.checked); //2、//$("#ckAll").checked = [...ckArr].every(item => item.checked);//3、let ckArr2 = Array.from(ckArr);原创 2023-11-16 17:57:08 · 169 阅读 · 0 评论 -
JS-项目实战-批量删除水果库存记录
这是JavaScript中的一行代码,用于删除HTML表格中的一行。fruitTbl是你想要从中删除一行的表格的名称。deleteRow()是一种方法,用于从表格中删除一行。rowIndex是您想要删除的行的索引。索引从第一行开始为0,第二行为1,依此类推。因此,此代码将从fruitTbl表格中删除由rowIndex指定的行。原创 2023-11-16 16:45:37 · 141 阅读 · 0 评论 -
JS-水果库存记录实现全选全不选功能
在JavaScript中,#号(井号)有以下用途:在URL中,#号用于定位一个页面内的特定位置,被称为锚点。例如:https://www.example.com#section1,会滚动到页面中id为“section1”的元素位置。在CSS中,#号被用于选择某个具有特定id属性的元素。例如:#myDiv {color: red;},表示选择id为“myDiv”的元素,并将其文本颜色设置为红色。在正则表达式中,#号被用作注释符号。例如:/^[a-z]#匹配小写字母/,表示#号后面的内容是注释,原创 2023-11-16 15:56:18 · 205 阅读 · 0 评论 -
JS-项目实战-删除库存记录
这是一个简单的$选择器函数的实现,可以用来获取DOM元素。首先判断传入的参数name是否存在,如果存在则继续判断name是否以"#"开头,如果是,则将"#"去掉,得到真实的DOM元素id名称,然后使用document.getElementById方法获取该DOM元素,并返回。例如,若执行代码$(“#fruit_tbl”),则会返回id为“fruit_tbl”的DOM元素对象。var fruitTable = $('#fruit_tbl');原创 2023-11-16 12:04:35 · 242 阅读 · 0 评论 -
JS-项目实战-鼠标悬浮设置字体颜色以及控制键盘输入
退格键:8。Tab键:9。回车键:13。Shift键:16。Ctrl键:17。Alt键:18。Caps Lock键:20。Esc键:27。空格键:32。Page Up键:33。Page Down键:34。End键:35。Home键:36。左箭头键:37。上箭头键:38。右箭头键:39。下箭头键:40。Delete键:46。0键:48。1键:49。...以此类推,一直到9键:57。A键:65。B键:66...以此类推,一直到Z键:90原创 2023-11-16 10:31:18 · 468 阅读 · 0 评论 -
JS-项目实战-更新水果单价更新小计更新总计
JS-项目实战-更新水果单价更新小计更新总计原创 2023-11-15 21:39:21 · 198 阅读 · 0 评论 -
JS-项目实战-编辑单价单元格,可以点击单价单元格并且出现文本框,并自动选中输入框内部的文本
event.srcElement 可以用在JS中来获取触发事件的元素。在早期的IE浏览器版本中,该属性被广泛使用来获取事件源元素。 在现代浏览器中,推荐使用 event.target 属性来代替 event.srcElement 属性,因为 event.srcElement 在所有主流浏览器中并不总是支持。通过使用 event.srcElement,您可以轻松地确定哪个元素触发了某个事件,并进一步针对该元素执行相应的操作。例如,您可以通过 event.srcElement 修改某个元素的样式或属性,或者原创 2023-11-15 20:35:16 · 207 阅读 · 0 评论 -
JS-项目实战-鼠标悬浮变手势(鼠标放单价上生效)
上述代码中,我们首先获取要设置手势的元素,使用 addEventListener 方法来监听鼠标事件。当鼠标悬浮在元素上时,我们将设置CSS样式来改变鼠标的手势样式为 grab,当鼠标离开元素时,我们将改变鼠标的手势样式为 default。您可以根据需要,将 grab 或 default 替换为您所需要的手势样式,以实现您想要的效果。原创 2023-11-15 19:33:16 · 1359 阅读 · 0 评论 -
JS-项目实战-代码优化-事件动态绑定
window.onload是一个JavaScript事件,它在页面上所有元素和资源(如图像和样式表)都加载完成后触发。它的作用是允许开发者在页面完全加载后执行特定的JavaScript代码。这通常用于在页面加载后初始化应用程序或更新页面内容。在某些情况下,预先加载所有资源并等待window.onload事件可能会影响网站或应用程序的性能,可以使用其他技术(例如异步加载脚本或将脚本放置在页面底部)来优化加载时间。原创 2023-11-15 19:01:54 · 593 阅读 · 0 评论 -
js中的事件-鼠标悬浮和离开事件onmouseover和onmouseout
js中的事件-鼠标悬浮和离开事件 onmouseover 和 onmouseout原创 2023-11-14 21:19:11 · 2355 阅读 · 0 评论 -
JavaScript_表单校验用户名和密码
- ^:匹配字符串的开头 - \w:匹配一个字母、数字或下划线 - {6,12}:指认由6到12个\w字符组成的重复次数 - $:匹配字符串的结尾原创 2023-11-14 20:16:03 · 928 阅读 · 0 评论 -
JavaScript_动态表格,实现全选,全不选,反选功能,点击第一个复选框,获取所有的checkbox,给所有tr绑定鼠标移到元素之上和移出元素事件。
JavaScript_动态表格,实现全选,全不选,反选功能,点击第一个复选框,获取所有的checkbox,给所有tr绑定鼠标移到元素之上和移出元素事件。原创 2023-11-13 20:56:12 · 232 阅读 · 0 评论 -
JavaScript_动态表格_删除功能
在JS中,parentNode是一个DOM属性,代表当前节点的父节点。也就是说,每个节点(除了根节点)都有父节点,parentNode可以用来访问这个父节点。例如,如果element是一个DOM元素节点,那么element.parentNode就是它的父元素节点。在JavaScript中,parentNode是一个DOM节点属性,它表示当前节点的父节点。换句话说,它存储了当前节点的直接父元素,可以通过该属性访问该节点的父级元素。其中,element是要查找其父元素的元素。原创 2023-11-12 22:13:09 · 330 阅读 · 0 评论 -
JavaScript_动态表格_添加功能
创建一个新的行对象,并设置行的属性。可以使用createElement方法创建tr元素,然后使用setAttribute方法设置该行的属性,如id等。创建每个单元格对象,并设置单元格内容。可以使用createElement方法创建td元素,然后使用appendChild方法将文本节点添加到单元格中。将新创建的行对象添加到表格中,可以使用appendChild方法将行对象添加到表格对象的tbody或thead中。将单元格添加到行中,可以使用appendChild方法将每个单元格对象添加到行对象中。原创 2023-11-12 21:07:55 · 891 阅读 · 0 评论 -
表单(form)
收集 用户填入的 数据,并将这些数据 提交给服务器。有 name 属性的表单项数据,才会被发送给服务器。原创 2023-10-29 20:48:32 · 303 阅读 · 0 评论 -
在JS中,var 、let 、const 总结
在使用var声明变量的for循环中,变量会在每次迭代中被重新赋值,而使用let声明的变量则不会。变量提升:使用var声明的变量会存在变量提升的现象,即在声明语句之前使用该变量会返回undefined,而使用let声明的变量则不会出现这种情况。变量提升:var声明的变量具有变量声明提升的特性,即变量可以在声明前使用,而let声明的变量不具有变量声明提升的特性,会出现“暂时性死区”的现象。使用var声明的变量可以在同一作用域内多次声明,而使用let声明的变量只能被声明一次,否则会导致“标识符已经声明”的错误。原创 2023-10-28 23:40:18 · 678 阅读 · 0 评论 -
JavaScript_对象_Function_定义与参数
闭包(closure)是指函数在创建时记录下了父级作用域中的变量,并且可以在函数被调用时使用这些变量,即便是在函数被调用时父级作用域已经销毁。闭包是一种强大的编程技巧,常用于实现模块化、缓存等功能。在JavaScript中,每一个函数都可以看作是一个闭包,因为它们都可以访问自身作用域以及父级作用域中的变量。原创 2023-10-27 21:30:31 · 126 阅读 · 0 评论