- 博客(20)
- 收藏
- 关注
原创 前端this知识点梳理:全面掌握this的用法
在上文中,说到在创建防抖节流函数的时候,使用了apply,绑定了this,这是因为,如果我们直接调用那个函数,就会导致他的调用者为全局,在浏览器下面,也就是window,这可能导致函数使用this的调用时,发生错误,下文讲一下,js中常用的this的大多数用法普通函数: 的值由 调用方式 决定,动态绑定。常见规则:直接调用: 指向全局对象(非严格模式)或 (严格模式)。作为对象方法调用: 指向调用该方法的对象。通过 调用: 指向新创建的实例。 箭头函数: 继承自 定义时的外层作用域,静态绑定,且
2025-03-18 17:57:15
886
原创 深入理解事件冒泡与事件监听:从原理到实战
在我们日常写事件的时候,难免会有一个盒子套一个盒子的情况,在我们点击某一个盒子的时候,往往会触发其他的事件,这就与本篇讲的事件冒泡有关了什么是事件流?描述事件在DOM树中的传播过程:捕获阶段 → 目标阶段 → 冒泡阶段。1.2事件捕获 定义:事件从根节点向下传播到目标元素(与冒泡相反)。在使用事件监听的时候,默认是冒泡,在他的第三个参数,可以设置捕获二.事件监听(Event Listeners) 传统方式:属性(缺点:只能绑定一个处理函数)。现代方式:(优势:支持多个监听器
2025-03-08 15:12:16
272
原创 前端开发者必知:哈希原理、算法与应用实战
时,得到的就是我们要找到的数字,在通过map直接查找,有的话就会返回对应的下标,这样子就可以避免两层for循环。这里我们进行的时候通过字符a的Unicode编码,将他么转化到对应数组下标,来进行操作的。在存储数据的时候,我们不一定都是按照下标那样子的属性一依次放入,所以就会有空白。但是如果不同的字符串,转化为同一个数字,又该如何处理,出现这种情况,叫做。,因为我们要使用额外的数组或者是map来存放数据,才能实现快速的查找。,底层使用的是数组,并且某些单元是没有被利用的。当查询时,先根据哈希化后的下。
2025-03-05 20:29:08
859
1
原创 前端开发中的链表:链表的实现,和部分算法(虚拟节点,循环链表等)
上一文中,讲解了,数组的对应操作,以及部分算法,现在我们使用数组,来实现一个简单的链表。
2025-03-02 21:02:57
603
原创 前端开发中的算法利器:数组操作、滑动窗口与归并排序等
几乎是每种编程语言都会提供的一种原生数据结构(语言自带的)并且我们可以借助于数组结构来实现其他的数据结构,比如栈(Stack)、队列(Queue)、堆(Heap);,O(1)
2025-03-02 15:42:49
599
原创 set对象
Set对象允许你存储任何类用于存储任何类型的唯一值,无论是基本类型还是对象引用。只能保存值没有键名严格类型检测如字符串数字不等于数值型数字值是唯一的遍历顺序是添加的顺序,方便保存回调函数。
2024-06-09 21:47:50
213
原创 节流js.
方法, options.leading 与|或 options.trailing 决定 wait 前后如何触发。2.假如一张轮播图完成切换需要300ms, 不加节流效果,快速点击,则一直的切换。3.加上节流效果, 不管快速点击多少次, 300ms时间内,只能切换一张图片。会传入最后一次传入的参数给这个函数。随后调用的函数返回是最后一次。创建一个节流函数,在 wait 秒内最多执行。1.开发使用场景 – 小米。: 指定调用在节流开始前。: 指定调用在节流结束后。: 需要节流的毫秒。
2024-06-04 19:40:00
207
原创 js中函数的参数
rguments 是函数内部内置的伪数组变量,它包含了调用函数时传入的所有实参。1. ... 是语法符号,置于最末函数形参之前,用于获取多余的实参。1. arguments 是一个伪数组,只存在于函数中。2. arguments 的作用是动态获取函数的实参。3. 可以通过for循环依次得到传递过来的实参。2. 借助 ... 获取的剩余实参,是个真数组。剩余参数允许我们将一个不定数量的参数表示为一个数组。
2024-05-18 12:54:46
251
原创 改变this指向的三种方式
因此当我们只是想改变 this 指向,并且不想调用这个函数的时候,可以使用 bind,比如改变定时器内部的this指向.使用 apply 方法调用函数,同时指定被调用函数中 this 的值。thisArg:在 fun 函数运行时指定的 this 值。thisArg:在 fun 函数运行时指定的 this 值。返回值就是函数的返回值,因为它就是调用函数。,同时指定被调用函数中 this 的值。arg1,arg2:传递的其他参数。返回值就是函数的返回值,因为它就是。----所以会返回新函数。
2024-05-05 21:49:02
360
原创 原型对象,对象原型
指向构造函数的 prototype 原型对象,之所以我们对象可以使用构造函数 prototype 原型对象的属性和方法,就是因为对象有。,JavaScript 规定,每一个构造函数都有一个 prototype 属性,指向另一个对象,所以我们也称为原型对象。对象原型里面也有一个 constructor属性,指向创建该实例对象的构造函数。主要是防止给原型对象一次性添加一系列方法时,使里面的指向被覆盖。3.用来表明当前实例对象指向哪个原型对象prototype。该属性指向该原型对象的构造函数。
2024-04-21 19:28:51
271
2
原创 js.创造函数
是一种特殊的函数,主要用来初始化对象,创函数是专门用于创建对象的函数,4.构造函数内部的 return 返回的值无效,所以不要写return。5.new Object() new Date() 也是实例化构造函数。实践中为了从视觉上区分构造函数和普通函数,习惯将构造函数的首字母大写。在使用this中,如果不为箭头函数,里面使用的this指向实例对象(,通过函数创建的对象,实例对象中的属性和方法称为实例成员。可以用于我们批量进行一下对象的创建。),如果为箭头函数,则。2.实例化构造函数时。
2024-04-13 13:12:23
228
原创 js-解构
1.对于数组对象,记住的是,外围包含的中括号,小括号是对应的,其余写法与上面一样,每一个大括号表示第一个数组的对象。1. 赋值运算符 = 左侧的 [] 用于批量声明变量,右侧数组的单元值将被赋值给左侧的变量。1. 赋值运算符 = 左侧的 {} 用于批量声明变量,右侧对象的属性值将被赋值给左侧的变量。数组解构是将数组的单元值快速批量赋值给一系列变量的简洁语法。用于批量声明变量,右侧数组的单元值将被赋值给左侧的变量。变量的数量大于单元值数量时,多余的变量将被赋值为。的变量,只会将对象里属性名相同的赋值。
2024-04-06 17:13:01
364
1
原创 事件监听.
一.定义简单来说就是是给一个dom对象,增加事件监听,如果该对象触发了某个事件,那么会触发其下的函数格式1.元素对象:主要是前面获取的dom元素2.事件类型:是通过什么方法触发改执行函数3.函数:触发后,要做什么事二.事件类型。
2024-03-09 21:27:35
373
1
原创 PC和移动端的区别
一般pc端用jquery,移动端用zepto,因为移动端的流量还是比较重要的, 所以引入的资源或者插件,能小则小,一个30k的资源和一个80k的资源,在移动端的差别还是挺大的。PC考虑的是浏览器的兼容性,而移动端开发考虑的更多的是手机兼容性,因为目前不管是android手机还是ios手机,一般浏览器使用的都是webkit内核,所以说做移动端开发,更多考虑的应该是手机分辨率的适配,和不同操作系统的略微差异化。在布局上,移动端开发一般是要做到布局自适应的,我使用的一直是rem布局,感觉很好。
2024-02-23 21:29:26
784
原创 CSS动画原理
除了以上的动画属性之外,CSS还提供了许多其他的动画效果,如过渡(transition)、变形(transform)和动画(animation),这些都是制作动画效果的重要手段。许多静止的画面(帧)以一定的速度连续播放时,肉眼因视觉残像产生错觉,而误以为是活动的画面,而CSS动画是使用CSS属性来控制HTML元素动态变化的技术。2. 应用关键帧: 在需要添加动画效果的元素上,使用animation属性指定动画的名称和时长,以及动画的其他属性(如动画速度曲线、播放次数等)。-- 定义动画 -->
2024-02-23 20:46:08
450
原创 C语言之图像篇
至此,我们学会了用C语言画三角形,接下来我们可以以三角形为基础,画出很多复杂的图像,正所谓,任何复杂精美的艺术品都是由很多简单的事物组成的。在稿纸上画出草图,采用第一个for循环控制空格的打印,例如空三— 空二 — 空一。在稿纸上画出草图,用第一个for循环控制星星的打印,例如星一 — 星二 — 星三。思路:我们将一个目标图像分为三部分:空格部分、星星部分,最终结合部分。最后,我们希望本篇文章就像抛出一个“砖”,来引出大家思维上的“玉”。我们可以把这种“拼接”的思路保留,用它来改进我们的代码。
2024-02-23 20:44:15
699
原创 css的主要选择器
可以选择父元素里面的子元素,写法为:外层标签 内层标签,中间用空格分开。:first-child,ul li:first-child表示选择ul里面第一个为li的元素(li与first-child没有空格):first-child,ul :first-child表示选择ul里面第一个元素(里面有个空格):first-child,E:first-child 匹配父元素中的第一个子元素E。:nth-child(n),E:nth-child(n)匹配父元素中的第n个子元素E。
2024-02-23 13:22:12
392
原创 浅谈标准流
行内元素只能放文本或其他行内元素,对于a来说a 里面可以放块级元素,但最好转换一下。4.块级元素独占一行,行内元素水平排列,行内块元素具有两者的一些特征直到占满一行然后换行。可以方便的布局页面的大体结构,之后加上浮动和定位,更能事半功倍。img /,input /,td...(表单,图片单元格)同时用上面两种的部分特点。文字类的元素不能放处文字以外的东西,如,p里面不能放图片和div。3.分为三个板块,一个是块级元素,一个是行内元素,另一个是行内块元素。3.高度,行高,外边距,内边距都可以控制。
2024-02-23 13:20:02
416
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人