返回顶部
J

JavaScriptJavaScript编程

Write robust JavaScript with async patterns, type coercion handling, and modern ES2023+ features.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.3
安全检测
已通过
2,430
下载量
免费
免费
5
收藏
概述
安装方式
版本历史

JavaScript

使用场景

用户需要JavaScript专业知识——从核心语言特性到现代编程模式。代理可处理async/await、闭包、模块系统和ES2023+特性。

快速参考

主题文件
异步模式async.md
类型强制转换规则
coercion.md | | 数组和对象方法 | collections.md | | 现代ES特性 | modern.md |

相等性陷阱

  • - ==会进行类型强制转换:0 == false结果为true——始终使用===
  • NaN !== NaN——应使用Number.isNaN(),而非=== NaN
  • typeof null === object——需显式检查=== null
  • 对象按引用比较——{} === {}结果为false

this绑定

  • - 普通函数:this取决于调用位置——在回调中会丢失
  • 箭头函数:this来自词法作用域——适用于回调函数
  • setTimeout(obj.method)会丢失this——使用箭头函数或.bind()
  • 事件处理程序:普通函数中this为元素,箭头函数中为undefined(若无外部this)

闭包陷阱

  • - 循环变量通过引用捕获——使用let或IIFE来捕获值
  • var提升至函数作用域——在迭代间创建单一共享绑定
  • 从循环返回函数:所有函数共享同一变量——每次迭代使用let

数组变更

  • - sort()、reverse()、splice()会改变原数组——使用toSorted()、toReversed()、toSpliced()(ES2023)
  • push()、pop()、shift()、unshift()会改变原数组——使用展开运算符[...arr, item]实现不可变操作
  • delete arr[i]会留下空洞——使用splice(i, 1)移除并重新索引
  • 展开运算符和Object.assign是浅拷贝——嵌套对象仍引用原对象

异步陷阱

  • - 忘记await会返回Promise而非值——没有TypeScript时容易遗漏
  • forEach不会等待——使用for...of实现顺序异步
  • Promise.all快速失败——一个拒绝会导致全部拒绝,如需所有结果使用Promise.allSettled
  • Node中未处理的拒绝会崩溃——始终使用.catch()或try/catch配合await

数字

  • - 0.1 + 0.2 !== 0.3——浮点数问题,使用整数分或toFixed()进行显示
  • parseInt(08)现在能正常工作——但parseInt(0x10)结果为16,注意前缀
  • Number()为0,Number(null)为0——但Number(undefined)为NaN
  • 大整数超过2^53会丢失精度——使用BigInt处理大数字

迭代

  • - for...in遍历键(包括继承的)——使用for...of遍历值
  • for...of对对象无效——对象不可迭代,使用Object.entries()
  • Object.keys()跳过不可枚举属性——Reflect.ownKeys()获取所有属性包括Symbol

隐式类型转换

  • - [] + []结果为——数组被强制转换为字符串
  • [] + {}结果为[object Object]——对象的toString方法
  • 控制台中{} + []结果为0——{}被解析为代码块而非对象
  • 5 - 1为4,5 + 1为51——减号强制转换,加号拼接

严格模式

  • - 在文件或函数顶部添加use strict——捕获静默错误
  • 严格模式下隐式全局变量会报错——x = 5未声明会失败
  • 严格函数中this为undefined——而非全局对象
  • 禁止重复参数和with语句

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 javascript-1776016381 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 javascript-1776016381 技能

通过命令行安装

skillhub install javascript-1776016381

下载

⬇ 下载 JavaScript v1.0.3(免费)

文件大小: 4.46 KB | 发布时间: 2026-4-13 10:42

v1.0.3 最新 2026-4-13 10:42
Initial release

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部