JavaScript原理篇——深入理解作用域、作用域链、闭包、this指向
域可以嵌套,内部作用域可以访问外部作用域的变量,但外部作用域不能访问内部作用域的变量。块级作用域(Block Scope):块级作用域指的是由一对花括号 {} 包裹起来的代码块内部所创建的作用域。在 JavaScript 中,使用 let 和 const 关键字声明的变量具有块级作用域,即只在声明它们的代码块内部可见。块级作用域可以帮助我们避免变量污染和提供更好的封装性。 全局作用域 局部/函数作用域 作用...
【JavaScript】内置对象 - 数组对象 ① ( 数组简介 | 数组创建 | 数组类型检测 )
y.isArray() 方法4、数组检测 - instanceof 运算符 Array 数组对象参考文档 : https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array 一、数组对象 1、数组简介 在 JavaScript 中 , 提供了一种 内置对象 " 数组 " , 用于存储一系列的值 , ...
今天我要和 javaScript 勾搭一下
文章目录 前言一、javaScript 是一门编程语言二、JavaScript 的重要性三、TypeScript 会取代 JavaScript 吗 ?更多知识点继续看我的博客吧,最近在慢慢优化文章,耐心等待,嘿嘿。 前言 每年都会学习下 javaScript ,就像每年冬天都会重刷下鬼怪,不同的是,一个百看不厌,一个是百看不理解! 今天我要再次认真地和 javaScript 重新来过,哼,不勾搭成功,...
JavaScript 垃圾回收机制深度解析:内存管理的艺术
文章目录 🎭 引言一、JavaScript内存模型与生命周期的深度解析📌 基本数据类型与栈内存的精妙运作📌 复杂数据类型与堆内存的广袤世界📌 生命周期管理的智慧与实践策略📌 WeakMap 和 WeakSet 介绍 二、垃圾回收机制(Garbage Collection, GC)的深度探索📌 引用计数法(Reference Counting)📌 标记-清除法(Mark-and-Sweep)📌 分代收集(G...
javaScript数组-(进阶算法)-计算滑动窗口最大值
滑动窗口 给定数组中的连续子数组,使其和达到最大值,并记录该子数组的起始和结束索引。最后,将最大和及其起始和结束索引存储在数组当中。 const arr = [-1,-2,3,9,-4,8]; let max = null;let sum = null; let i=0,j=0; let length = arr.length; if(max === null || sum === null){ max...
【JavaScript】内置对象 ④ ( Math 内置对象常用方法 | 取绝对值 | 向下取整 | 向上取整 | 四舍五入取整 | 取随机数 )
动计算绝对值 ;如果无法转为数字类型 , 则返回 NaN 非数字结果 ; Math.abs() 方法文档 : https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math/abs 代码示例 : // 1. 求绝对值 Math.abs // 输出 : 1 console.log(Math.abs(1)...
解码 JavaScript 变量:全面概述
在 JavaScript 编程领域,变量在存储和操作数据方面发挥着至关重要的作用。了解变量的工作原理对于任何想要掌握 JavaScript 的开发人员来说都是至关重要的。在本文中,我们将探讨 JavaScript 中变量的基础知识,涵盖从声明到编码标准中的最佳实践的所有内容。 目录: 什么是变量? 声明变量 变量命名约定 变量范围 吊装 变量的编码标准 6.1.变量命名约定 6.2.关键词的一致使用 6....
00-JAVA基础-javassist字节码操作
A动态性的实现方式 字节码操作反射 运行时操作字节码可以让我们实现如下功能: 动态生成新的类动态改变某个类的结构(添加/删除/修改 新的属性/方法) 运行时操作字节码的优势:反射开销小,性能高 什么是Javassist Javassist是一个开源的分析、编辑和创建Java字节码的类库。它是jboss的一个子项目,主要优点在于简单且快速。它允许开发者直接使用Java编码的形式,而无需了解虚拟机指令,就能动态...
JavaScript逆向爬虫
JavaScript逆向爬虫 随着前端技术的发展,前端代码的打包技术、混淆技术、加密技术也层出不穷,各个公司可以在前端对JavaScript代码采取一定的保护,比如变量混淆、执行逻辑混淆、反调试、核心逻辑加密等,这些保护手段使得我们没法很轻易地找出JavaScript代码中包含的执行逻辑。 针对这些反爬防护措施,解决方案:逆向JavaScript代码,找出其中的加密逻辑,直接实现该加密逻辑进行爬取...
JavaScript循环
JavaScript的循环有两种,一种是for循环,通过初始条件、结束条件和递增条件来循环执行语句块: var x = 0; var i; for (i=1; i<=10000; i++) { x = x + i; } x; // 50005000 for循环的3个条件都是可以省略的,如果没有退出循环的判断条件,就必须使用break语句退出循环,否则就是死循环 for … in for循环的一个变体是fo...