- 博客(8)
- 收藏
- 关注
原创 解析Promise解决异步回调
当一个回调函数嵌套一个回调函数的时候,就会出现一个嵌套结构,当嵌套的多了就会出现回调地狱的情况, 比如我们发送三个 ajax 请求,第一个正常发送,第二个请求需要第一个请求的结果中的某一个值作为参数,第三个请求需要第二个请求的结果中的某一个值作为参数。此时,函数a和函数a的参数都是一个函数,为了便于区别,我们把作为函数a参数传入的那个函数b叫做函数a的回调函数,我们为什么需要回调函数?,当代码成为这个结构以后,已经没有维护的可能了,所以我们要把代码写的更加的艺术一些。3 Promise的使用。
2023-03-16 17:59:09
291
原创 jQuery是什么?如何使用?
整理了大量的 JS 方法, 对其进行筛选和整合,将一类内容或者类似内容封装成了一个一个的方法。并且还做了一个超级大的贡献, 就是在代码里面讲兼容性也处理好了,并且给他封装的这个大型工具库起了一个名字叫做 jQuery。有的时候, 我们会觉得这个方法名字太长, 或者操作相对复杂, 或者使用非常频繁,那么我们会有意识的将这些方法进行封装, 然后调用。因为最早的 jQuery 其实就是为了解决各种各样的获取元素的问题和常见DOM操作,后来才逐步加入的更多的内容。动画 - 一些样式的动画效果。
2023-03-16 17:45:29
1654
原创 React中的另一种状态管理方案Valtio
Redux一直是我们react项目中不二的状态管理插件,但是redux的配置以及各种插件的安装一直是很多人员头疼的一个问题,太麻烦了。定义好的数据直接在组件中进行引入就能使用,useSnapshot可以获取我们定义好的状态数据,使用之后在组件中就是一个响应式的效果,只要数据改变了组件就会直接进行更新。状态管理一直是React中开发人员需要解决的问题,如何有条理的组织数据,如何快速的在项目中集成,这些都是我们做项目时选择技术的标准。React中的状态管理是开发人员需要解决的问题。每一个功能对应一个文件。
2023-03-15 16:34:39
303
原创 经典算法—两数之和!
这次的方法,我们只用了一次循环,就解决了问题,时间复杂度当然就是O(n)咯,只是在函数运行的过程中,创造了一个 map对象在占用内存空间,虽然函数之后map对象被回收了,但是总的来说是消耗了一些内存的。但是提交上去之后,分数并不高,说这种方法性能不好,暴力解法采用双重循环嵌套的话,虽然解决了问题,但是执行判断的次数大约是:(n-1) + (n-2) + (n-3) + ... + 1次。所谓的空间换时间,其实指的就是,针对这样两层遍历的情况,我们可以在遍历的过程中,一边去判断,一边做存储。
2023-03-15 16:09:28
502
原创 JS中undefined和null的区别
● JavaScript 真是一个特殊的语言, 其他语言都只有一个表示 "无" 的值, 比如 Java 语言用的是 null, C 语言用的是 NULL, Python 语言用的是 None, Ruby 语言用的是 nil. 只有 JS 里面表示 "空" 的有两个, 一个是 undefined, 一个是 null。○ null 因为表示的是 "空", 其实是有内容, 只不过有一个空内容, 存储的是 0000 0000 ...○ null 表示空, 存储的时候也是一大堆 0, 所以转换为数值是 0。
2023-03-10 19:24:57
55
原创 float的表示范围为什么比long大
long 这个类型很有意思,在不同的解析器或者编译器内, long 的表示形式不一样,上面我们说的,long 在 java, c, c++ 内都是表示 64位, 也就是 8 个字节的位置,但是long 在 javascript 内。取值范围就是 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。long 表示的是 32 的数字, 取值范围就是 -2,147,483,648 到 2,147,483,647。
2023-03-10 18:50:26
165
原创 深入理解JavaScript之深浅拷贝
浅拷贝是对对象或数组进行浅层复制,只复制对象的一层属性,当复制的对象中有引用类型的属性时,复制出来的对象和原对象会共享引用类型的属性。在前端开发中,有时我们需要对一个复杂的数据结构进行变换,例如将一个嵌套的对象转换为数组或将一个数组转换为嵌套的对象。深拷贝是对对象或数组进行递归复制,复制整个对象的所有层次,这样就可以避免对象中的引用类型的属性共享的问题。通过展开一个对象,可以将其属性复制到新的对象中。总之,在前端开发中,深拷贝是非常常见的场景,可以帮助我们处理复杂的数据结构,并保持代码的稳定性和可维护性。
2023-03-07 18:01:53
89
原创 初识SVG
在素材库菜单里选择矢量插画库,选择任意一个主题点击进去,鼠标划入图标,点击下载按钮,在弹框中分别点击 SVG 下载和 PNG下载,这个图标的两种格式文件就下载到本地电脑了,将图片拷贝到我们的目录下。回到浏览器,刷新,按键盘 F12,打开开发者工具,在 elements 页签下,点击 svg 元素,我们看到,一个800 乘 600 的画布就做好了。svg 也可以理解为绘制图形的画布,它有两个重要的属性,width,定义画布的宽度,height,定义画布的高度,它们值都是数字。可以使用 svg 标签来实现。
2023-03-07 16:51:15
264
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人