Javascript
文章平均质量分 61
爱吃奶酪的松鼠丶
QQ:1301001603
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
WASM逆向
因为wasm会开辟一块线下地址和js进行交互。实例化的时候会会返回wasm导出的地址。我们挂载到全局,然后封装一个方法,对内存的值进行读取,因为wasm基本都是对内存进行操作。因为我做的是图像解密,他的解密是在wasm中做的,我采用的是倒推的方式找的解密后js是在哪个交互函数中拿到结果的。首先找到wasm初始化的位置,然后hook初始化后的实例。原创 2025-09-16 19:07:03 · 428 阅读 · 0 评论 -
JavaScript中的作用域、闭包、定时器 由浅入深
JavaScript中的作用域分为全局、函数和块级作用域,决定了变量的可访问性。闭包允许函数访问其词法作用域外的变量,常用于封装私有变量、模块模式和回调函数。使用定时器循环输出自增数字时,需注意变量作用域问题,可通过闭包、let声明或setTimeout参数解决。建议使用let或递归setTimeout实现连续数字输出,避免setInterval可能引发的问题。这些概念对理解JavaScript执行机制和编写可靠代码至关重要。原创 2025-08-04 18:18:27 · 605 阅读 · 0 评论 -
JavaScript 中的 new 关键字和函数调用方法详解,apply、call 和 bind 的区别
本文介绍了JavaScript中几个关键概念的手动实现方法。首先讲解了如何模拟new关键字的功能,包括创建对象、设置原型和绑定this。其次分析了apply、call和bind的区别,三者都能改变this指向但调用方式不同。最后提供了这三个方法的polyfill实现,展示了如何通过Symbol临时添加方法属性来实现上下文绑定,并介绍了new.target元属性用于检测构造函数调用方式。这些实现有助于深入理解JavaScript的函数调用机制和原型系统。原创 2025-08-01 18:21:38 · 446 阅读 · 0 评论 -
JavaScript 中的对象继承:从浅入深
JavaScript 继承方式总结:从原型链到 ES6 class 本文系统介绍了 7 种 JavaScript 继承实现方式: 原型链继承(简单但引用属性共享) 借用构造函数继承(解决共享问题但方法不能复用) 组合继承(最常用,但两次调用父类构造) 原型式继承(类似 Object.create) 寄生式继承(增强对象但方法重复创建) 寄生组合式继承(最理想方案) ES6 class 继承(语法糖,推荐使用) 每种方法都有其适用场景和优缺点,现代开发中推荐使用 ES6 class 继承或寄生组合式继承。原创 2025-08-01 15:24:48 · 313 阅读 · 0 评论 -
JavaScript 深拷贝:从基础到完美实现
本文详细讲解了JavaScript深拷贝的实现方法。首先对比了浅拷贝和深拷贝的区别,指出JSON.stringify的局限性。然后逐步实现了一个基础版深拷贝函数,解决了循环引用问题,并完善了对Date、RegExp、Map、Set等特殊对象的处理。最后给出了一个完美实现方案,能够处理Symbol属性、原型链、不可枚举属性和数组缓冲区等复杂情况,同时考虑了性能和边界条件。这个最终的深拷贝函数可以满足绝大多数开发场景的需求。原创 2025-08-01 11:46:09 · 349 阅读 · 0 评论 -
JavaScript 万能类型检测方法
本文介绍了一个全面的JavaScript类型检测方法getType(),它结合了typeof、instanceof和Object.prototype.toString.call()的优势。该方法首先处理null和undefined,然后检测基本类型,最后通过正则表达式从对象toString结果中提取精确类型信息。特殊处理了Promise、普通对象和构造函数名称等情况,能够准确识别各种数据类型(包括原始类型、数组、日期、正则表达式、Map/Set等)。测试用例展示了该方法对15种不同类型数据的准确识别能力,包原创 2025-07-31 15:34:37 · 198 阅读 · 0 评论
分享