- 博客(6)
- 资源 (5)
- 收藏
- 关注
原创 JavaScript中的变量提升及其陷阱和规避方法
习惯上,我们会把var x = 123;看作一个声明,同时给变量赋值,但实际上编译器会将它编译成两个部分,一个是变量声明(var x;),另一个是变量赋值(x = 123;所有的变量声明包括函数声明都会在编译阶段被编译器提升到其作用域的顶部(函数作用域和全局作用域)。这意味着,无论变量的声明出现在作用域的什么地方,都会在代码被执行前优先处理,即无论在何处声明何处使用,使用时其变量都已经被声明了,在赋值前其值时undefined。
2024-03-10 20:56:41
1229
1
原创 JavaScript中的var、let和const
在JavaScript中,var、let和const是三种用于声明变量的关键字,各有各的使用规则已经作用范围,且各有不同的特性。
2024-03-03 18:37:05
1104
原创 JavaScript快速排序实现及原理分析
这个实现中的quickSort函数使用了递归和分治策略,将一个大的排序问题分解为两个较小的排序问题。然后,递归返回的结果逐层向上合并,最终得到完全排序的数组。然而,由于其不稳定性,和最坏情况下的时间复杂度问题,快排可能不适用于所有情况,需要根据实际情况选择合适的排序算法。快速排序是一种不稳定的排序算法,即相等的元素在排序后可能会改变它们原有的相对顺序。快速排序的平均时间复杂度为O(nlogn),最坏情况下的时间复杂度为O(n^2)。快速排序在最坏情况下的时间复杂度为O(n^2),且是一种不稳定的排序算法。
2024-02-27 09:00:00
547
原创 实现Object深拷贝的方法及其原理
使用 JSON.stringify() 和 JSON.parse():这种方式可以将对象转换为字符串,再将字符串转换回对象。通过这种方式可以实现深拷贝,但是有一些限制,例如不能拷贝函数、循环引用等。因为该方法简单、易用、有效,针对大多数常见对象类型都能进行深拷贝,且能够适用于大多数业务场景,所以该方法是最常用、最有效的方法。无法处理函数和undefined等特殊类型;当处理包含大量数据或复杂结构的对象时,可能会比较慢。
2024-02-24 09:00:00
1292
原创 JavaScript导出table数据至Excel
不多废话,直接上代码。参考于layui,这种将静态表格数据,导出到Excel的操作,实际应用的场景似乎不是很多,但是知道并能够将静态表格数据转换成Excel,还是非常值得给个的。
2024-02-18 08:47:52
1040
1
原创 Flex布局陷阱及解决方法
Flex弹性布局,是一种CSS布局模式,flex布局能够使我们很轻松地设计复杂的二维布局结构,使内容区域大小随屏幕或页面分辨率动态改变,且不会破坏原有布局。Flex弹性布局几乎成为我日常开发中不可缺少的工具,它让我轻松的设计出自适应分辨率的布局,提高了工作效率。现结合我日常工作,提出两个Flex布局的陷阱,分析其解决方法,一般我们遇到的问题都能够通过合理利用Flex规则解决,而不能被合理解决的问题,我将其称之为陷阱。
2024-02-16 17:50:34
1688
1
php 在线考试网源代码
2013-11-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人