- 博客(17)
- 收藏
- 关注
原创 【前端】JavaScript 中 `this` 的绑定规则和箭头函数与普通函数的区别
this 的值是动态的,需要根据函数的调用方式来确定,而不是函数定义来确定的。,是因为箭头函数继承了。因此,第一个例子输出。
2025-04-29 22:59:30
298
原创 【前端】 深入理解 `new Worker()`:实际用法与业务场景
Web Worker是浏览器提供的一种 API,它允许开发者在后台线程中运行 JavaScript 代码。这些后台线程独立于主线程,因此不会影响页面的响应性能。通过可以创建一个新的Worker实例,该实例可以与主线程进行通信。
2025-04-29 22:25:20
263
原创 【前端】两种实现结果缓存(备忘录)的方法和循环出现问题
备忘函数中用 JSON.stringify 把传给 adder 函数的参数序列化成字符串,把它当做 cache 的索引,将 add 函数运行的结果当做索引的值传递给 cache,这样 adder 运行的时候如果传递的参数之前传递过,那么就返回缓存好的计算结果,不用再计算了,如果传递的参数没计算过,则计算并缓存 fn.apply(fn, args),再返回计算的结果。可以看到,第三个参数的传递,可以改变 setTimeout 的执行逻辑,从而实现想要的结果,这也是一种解决循环输出问题的途径。
2025-04-27 16:28:18
267
原创 【前端】函数与方法:谁才是闭包的制造者?
在开始讨论之前,我们先来复习一下闭包的概念。闭包是一个函数和其周围的状态(词法环境)的组合。简单来说,闭包允许一个函数记住并访问其创建时所在的作用域链中的变量,即使该函数在其创建上下文之外执行。闭包通常由嵌套函数产生,当嵌套函数引用了外部函数的变量时,就形成了闭包。函数和方法都可以产生闭包,但它们的方式有所不同。函数:函数是闭包的天然制造者。当一个函数定义在另一个函数内部,并且内部函数引用了外部函数的局部变量时,就会形成闭包。方法:方法通常不会直接产生闭包,因为方法通过this。
2025-04-27 15:30:43
283
原创 【前端】深入理解 JavaScript 箭头函数的 `this` 指向
普通函数的this是动态绑定的,取决于函数的调用方式。箭头函数的this是在其定义时捕获的,不会绑定到其直接包含它的函数,而是绑定到其定义时所在上下文的this。在你的代码中,箭头函数的this捕获了全局上下文的this,而不是a函数的this。希望这篇文章能帮助你更好地理解箭头函数的this捕获机制。如果你还有其他疑问,欢迎在评论区留言,我们一起探讨!作者简介:我是 Kimi,一名热爱技术的开发者。# 深入理解 JavaScript 箭头函数的this指向在 JavaScript 的开发中,
2025-04-26 21:32:41
871
原创 【前端】记录使用数组的方法reduce时不理解的地方
reduce方法是一个非常强大的工具,它可以用来对数组进行各种复杂的操作。然而,在使用reduce始终提供初始值,以避免因数组为空而引发的错误。按照和array的顺序使用回调函数的参数。如果需要在reduce中执行异步操作,可以使用for...of循环代替。明确累加器的类型,并在回调函数中进行适当的类型转换。通过掌握这些用法和避免这些坑点,你可以更高效地使用reduce方法来处理数组。希望这篇文章对你有所帮助!如果你有任何疑问或建议,欢迎在评论区留言。作者简介。
2025-04-26 16:55:00
767
原创 【前端】JavaScript中的常见的数组方法、类数组对象、数组的常见操作
在日常开发中经常会遇到各种类数组对象,最常见的就是在函数中使用的 arguments,它的对象只定义在函数体中,包括了函数的参数和其他属性。打印结果如下:可以看到,typeof 这个 arguments 返回的是 object,通过 Object.prototype.toString.call 返回的结果是 [object arguments],而不是 [object array],说明 arguments 和数组还是有区别的。length 属性就是函数参数的长度。
2025-04-25 19:25:22
1005
原创 【前端】JavaScript中的sort和reverse方法
为此,sort()方法会在每一个元素上调用String转型函数,然后比较字符串来决定顺序,即使数组的元素都是数值,也会将数组元素先转化为字符串在进行比较、排序。对于sort()方法的参数,它是一个比较函数,它接收两个参数,如果第一个参数应该排在第二个参数前面,就返回-1;如果两个参数相等,就返回0;如果第一个参数应该排在第二个参数后面,就返回1。可以看到,上面第二段代码就出现了问题,虽然5是小于10的,但是字符串10在5的前面,所以10还是会排在5前面,因此可知,在很多情况下,不添加参数是不行的。
2025-04-25 18:23:32
231
原创 【Java】访问修饰符、方法重写、方法重载
c.设计一个表示圆柱体的类Cylinder,它继承自类Circle,还包含有表示圆柱体高的 protected 类型的成员变量h、获取和设置h 值的public 方法、计算圆柱体体积的public 方法。如果从父类继承的方法不能满足子类的需求的情况下,可以对其进行改写,这个过程叫做方法的覆盖,也称为方法的重写,子类中出现了父类中一摸一样的方法声明,也称为方法的覆盖或者方法的重写。获取和设置口令的方法,显示和修改用户名的方法等。(4)创建两个具有继承结构的两个类,父类和子类均有自己的静态代码块、构造方法。
2025-04-22 16:51:05
619
原创 【Java】面向对象综合练习
*** 定义一个长方形类,定义 求周长和面积的方法,然后定义一个测试类,进行测试。*/System.out.println("长方形的周长是:" + rec.getPermeter());System.out.println("长方形的面积是:" + rec.getArea());// 定义属性 长度和宽度super();super();/*** 获取周长的方法*//*** 获取面积的方法* @return*/(p-a)
2025-04-22 15:15:41
113
原创 【Java】类与对象的具体使用
类的理解:1、类是用来描述实现事物的2、类是抽象的3、类是一个模板,是属性和方法的集合3、类是Java中最基本的单位4、Java中使用class类描述类。
2025-04-22 14:15:04
314
原创 【Java】编程语言与数学知识
4、在控制台输出1000以内的所有的水仙花数,并统计水仙花数的个数。注意:回文数如 12321,13531 等等 ... 11111。注意:水仙花数指的是其各位数的立方和等于该数本身的三位数。
2025-04-22 11:58:42
254
原创 【Java】运算符
运算符:算数运算符、赋值运算符、关系运算符、逻辑运算符、位运算符、三目运算符。表达式的定义:符合一定的语法规则的运算符和操作数的序列。3、算术运算符>关系运算>逻辑运算>条件运算>赋值运算。算术运算符 +-*/%++-- 正数、加号、链接符号。赋值运算符 = += -= *= /= %=关系运算符> < >= <=!条件运算符 && ||!表达式的类型:整个表达式的结果的类型。2、单目运算>双目运算>三目运算。()可以显著的提高程序的可读性。表单的值:整个表单式的结果。1、有括号计算括号里卖的。
2025-04-22 10:33:40
166
原创 【Java】标识符的命名规则
规则:一定要遵守的吗,如果违反编译器会报错。1、是由字母、数字、下划线、美元符$组成。4、不能使用Java中的关键字。
2025-04-21 21:06:51
82
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人