- 博客(10)
- 收藏
- 关注
原创 call、 apply、bind的底层原理
三者都可以改变函数的this三者第一个参数都是this要指向的对象,如果没有这个参数或参数为undefined或null则默认指向全局window三者都可以传参,apply是数组,而call是参数列表,bind也是参数列表但可以分多次传入,apply和call只能一次传完bind是返回绑定this之后的函数,apply、call则是立即执行。
2023-08-31 18:02:03
239
原创 检测数据类型的四种方式
typeof 检测数据类型优点:可以准确的判断简单数据类型(Number、String、Boolean、undefined、null)缺点:判断复杂数据类型比较模糊(Function、Object)instanceof 检测数据类型优点:可以准确的判断复杂数据类型(Array、Object)缺点:不能准确的判断简单数据类型(Number、Boolean、String)constructor 检测数据类型优点:可以检测简单数据类型以及复杂数据类型。
2023-08-31 17:57:12
2129
原创 原型和原型链的理解
原型存在于对象中的,在js中,每个构造函数内部都有一个prototype属性,该属性的值是个对象,该对象包含了该构造函数所有实例共享的属性和方法。当我们通过构造函数创建对象的时候,在这个对象中有一个指针,这个指针指向构造函数的prototype的值,我们将这个指向prototype的指针称为原型。原型链中就是实例对象和原型对象之间的链接。当在实例化的对象中访问一个属性时,首先会在该对象内部(自身属性)寻找,如找不到,则会向其__proto__指向的原型中寻找。1.为了实现继承,简化代码,实现代码重用!
2023-08-30 15:01:09
145
1
原创 自定义Lock锁
步骤:写一个类实现Lock接口实现Lock方法实现unLock方法自定义Lock锁代码:import java.util.concurrent.LinkedBlockingQueue;import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicInteger;import java.util.concurrent.atomic.AtomicReference;import java.util
2021-09-02 23:25:57
254
原创 爬楼梯算法题
爬楼梯算法题:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?思路和算法 :典型的动态规划问题我们用 f(x)表示爬到第 x 级台阶的方案数,考虑最后一步可能跨了一级台阶,也可能跨了两级台阶,所以我们可以列出如下式子: f(i)=f(i−1)+f(i−2).我们可以用「滚动数组思想」来理解,如图所示。总结动态规划解题思路什么样的问题可以使用动态规划?一个问题能用动态规划来解决,需要满足: - 可分解:问题可
2021-09-02 19:29:00
1315
原创 idea配置web项目详细教程
非maven项目移植到本地的idea前言在公司里将eclipse的项目,移植到idea中一、选择项目导入到idea 1. File->open->项目名称,点击ok二、配置项目结构1. 配置Projectproject name:你的项目名称project SDK:Jdk的版本选择1.8project language level:选择lambdas这个,可以支持lambdas表达式Project compiler output:路径选到 web\WEB-INF.
2021-09-02 00:26:57
27373
3
原创 java简单算法题
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2020-12-23 15:02:10
306
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人