自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 var , let 和const的区别

实际上保证的并不是变量的值不得改动,而是变量指向的那个内存地址所保存的数据不得改动。对于复杂类型的数据,变量指向的内存地址,保存的只是一个指向实际数据的指针,,我们能够对一个变量进行多次声明,后面声明的变量会覆盖前面的变量声明。对于简单类型的数据,值就保存在变量指向的那个内存地址,因此等同于常量。不存在变量提升,即它们所声明的变量一定要在声明后使用,否则报错。声明的变量存在变量提升,即变量可以在声明之前调用,值为。声明一个只读的常量,一旦声明,常量的值就不能改变。声明的变量既是全局变量,也是顶层变量。

2023-07-18 22:40:02 106

原创 判断数据类型

尽管以上方法可以判断大多数常见的类型,但对于复杂类型或自定义对象来说可能会存在一些限制。因此,在判断数据类型时应综合使用多种方法,根据具体情况选择最合适的方法。instanceof 运算符用于检测构造函数的原型是否出现在实例对象的原型链上,用于判断对象是否为特定类型的实例。使用 toString() 方法可以获取对象的内部属性 [[Class]],从而判断对象的类型。使用 typeof 运算符可以判断数据的基本类型。使用 Array.isArray() 方法可以判断一个对象是否为数组。

2023-07-18 21:45:15 89 1

原创 数组的常见方法

这些方法只是数组的一部分,还有许多其他的数组方法,例如 sort()、find()、fill()、includes() 等。创建一个新数组,其结果是对原数组中的每个元素调用提供的函数进行处理后得到的值。返回指定元素在数组中的最后一个匹配项的索引,如果不存在则返回-1。添加一个或多个元素到数组的末尾,并返回新数组的长度。添加一个或多个元素到数组的开头,并返回新数组的长度。返回一个从原数组中选定元素的新数组,不改变原数组。移除数组的最后一个元素,并返回移除的元素。反转数组中元素的顺序,并返回新的数组。

2023-07-18 21:40:16 97 1

原创 拓展数组的方法

方法创建一个新数组,其结果是对原数组中的每个元素调用提供的函数进行处理后得到的值。这些方法只是数组的一小部分。JavaScript还提供了许多其他有用的数组方法,例如。方法创建一个新数组,其中包含通过提供的函数进行测试并返回 true 的所有元素。可以根据具体的需求和场景选择适合的方法来操作和扩展数组。方法检测数组中是否至少有一个元素满足提供的测试函数。方法返回数组中满足提供的测试函数的第一个元素的值。方法通过提供的函数将数组的元素归纳为单个值。方法对数组的每个元素执行提供的函数。

2023-07-18 21:36:11 86 1

原创 JS继承

原型链继承的基本思想是将子类的原型对象设置为父类的实例。JavaScript中的继承是一种面向对象编程的核心概念,它允许一个对象(称为子类)从另一个对象(称为父类)中继承属性和方法。借用构造函数继承通过在子类的构造函数中调用父类的构造函数,来实现对父类实例属性的继承。原型链继承的缺点是对父类的实例属性和方法进行继承时,如果子类修改了继承的属性,会影响到所有子类的实例,因为它们共享同一个原型对象。在实际开发中,根据具体的需求和场景选择合适的继承方式。借用构造函数继承的缺点是无法继承父类原型链上的方法。

2023-07-18 15:31:38 91 1

原创 V3中V-Model和V2的区别

在 Vue2 中的 v-model 上,我们用过 .trim、.lazy 和 .number这三个内置修饰符,而 Vue3 则在这个基础上增加了自定义修饰符,即开发者可以自定义修饰符,以按需处理绑定值。v-model 是 Vue 中使用频率特别高的一个指令,而 Vue3 中的 v-model 有了很大的变化,本文将详细讲述一下 Vue2 和 Vue3 中的 v-model 的区别。可以看到 .sync 和 v-model 所能达到的效果是一样的,用什么就看你什么场景,一般表单组件上都是用 v-model。

2023-07-18 12:22:16 750 1

原创 原型和原型链

_proto__作为不同对象之间的桥梁,用来指向创建它的构造函数的原型对象的每个对象的__proto__都是指向它的构造函数的原型对象prototype的构造函数是一个函数对象,是通过Function构造器产生的原型对象本身是一个普通对象,而普通对象的构造函数都是Object刚刚上面说了,所有的构造器都是函数对象,函数对象都是Function构造产生的Object的原型对象也有__proto__属性指向nullnull是原型链的顶端下面作出总结:一切对象都是继承自Object对象,Object。

2023-07-15 14:14:47 41 1

原创 写函数判断变量的数据类型

在上述示例中,getVariableType() 函数接受一个变量作为参数,并使用 instanceof 运算符来判断变量的数据类型。对于特定类型(例如数组、日期和正则表达式),可以使用 instanceof 运算符进行检查,并返回相应的类型字符串。对于基本类型(如数字、字符串等),无法使用 instanceof 运算符进行判断,此时可以使用 typeof 操作符来获取类型。在上述示例中,getVariableType() 函数接受一个变量作为参数,并使用 typeof 操作符获取变量的类型。

2023-07-13 17:32:31 71 1

原创 v-if和v-show的区别

是真正的条件渲染,它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。只有渲染条件为假时,并不做操作,直到为真才渲染。例如:用户登录之后,根据他的权限不同来显示不同的内容。如果需要非常频繁地切换,则使用 v-show 较好,例如:手风琴菜单,tab 页签等。切换有一个局部编译/卸载的过程,切换过程中合适地销毁和重建内部的事件监听和子组件;的作用效果是相同的(不含 v-else),都能控制元素在页面是否可见。v-if和v-show的区别。的时候不会触发组件的生命周期。有更高的初始渲染消耗;

2023-07-11 18:05:00 35

原创 字面量和联合类型的使用

通过组合字面量类型和联合类型,可以创建更精确的类型声明,增强代码的清晰性和安全性。在实际开发中,应根据具体的场景和需求来选择使用字面量类型和联合类型。1.字面量类型:字面量类型是指具体的值作为类型的一部分。字面量和联合类型是TypeScript中的两个重要概念,它们可以用于创建更精确的类型声明,增强代码的可读性和可维护性。联合类型允许我们定义变量可以是多个类型之一。2. 联合类型:联合类型是指一个变量可以拥有多个可能的类型。通过联合类型,我们可以更灵活地处理多种可能的类型,提高代码的适应性和灵活性。

2023-07-11 18:01:34 87

原创 V3和V2的区别

关于vue3的重构背景,尤大是这样说的:「Vue 新版本的理念成型于 2018 年末,当时 Vue 2 的代码库已经有两岁半了。比起通用软件的生命周期来这好像也没那么久,但在这段时期,前端世界已经今昔非比了在我们更新(和重写)Vue 的主要版本时,主要考虑两点因素:首先是新的 JavaScript 语言特性在主流浏览器中的受支持水平;其次是当前代码库中随时间推移而逐渐暴露出来的一些设计和架构问题」利用新的语言特性(es6)解决架构问题。

2023-07-11 17:29:34 747

原创 ref reactive computed define props define emits 的类型注解

是常用的Composition API函数。

2023-07-11 17:15:08 235

原创 递归的实现原理

一般来说,递归需要有边界条件、递归前进阶段和递归返回阶段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。因此,递归将函数调用简化为一个更简单的函数调用,然后再将其简化为一个更简单的函数,以此类推,直到结果。递归(英语:Recursion),在数学与计算机科学中,是指在函数的定义中使用函数自身的方法。在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。其核心思想是把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。递归地调用自身 直到。

2023-07-11 16:19:53 129

原创 借用原型链补充数组的高阶排序方法

用于根据排序属性的比较结果确定升序或降序排序关系。如果第一个元素的属性值小于(或大于)第二个元素的属性值,则返回。可能会影响到全局的数组对象,因此在实际项目中要慎重考虑该操作的使用和影响。来添加自定义的排序方法。以下是一个示例,展示如何添加。来对数组进行升序排序。要借用原型链补充数组的高阶排序方法,可以通过。),确保元素按照指定属性的升序(或降序)排列。如果它们相等,则返回 0。通过返回不同的数值,可以控制数组元素的排序。,代表要排序的属性名。,指定要按照哪个属性进行排序。属性值进行比较,如果。

2023-07-11 09:11:06 33

原创 用reduce统计字符出现频率

对象中是否已经存在当前字符作为属性,如果存在则递增对应的值,否则将该字符添加为属性,并初始化值为 1。方法可以统计字符出现频率的问题。返回的结果就是一个记录字符出现频率的对象。将字符串拆分为字符数组。这个结果表示字符串中每个字符出现的次数。方法迭代每个字符,并通过一个对象。在上面的例子中,我们首先使用。来记录字符的出现频率。在每次迭代中,我们检查。

2023-07-11 08:49:15 85

原创 typeof 与 instanceof 的区别

typeof 一般是用来判断变量是否存在,返回他的类型,其中基本数据类型 null 返回的是一个 object,但 null 不属于引用数据类型,typeof 除了判断 function 函数会识别,其他的引用类型输出为 objectinstanceof 一般是用来判断引用数据类型,但不能正确判断基本数据类型,根据在原型链中查找判断当前数据的原型对象是否存在返回布尔类型。

2023-05-29 22:54:14 1246 1

原创 什么是响应式设计?响应式设计的基本原理是什么?如何做?

响应式布局优点可以看到:* 面对不同分辨率设备灵活性强* 能够快捷解决多设备显示适应问题缺点:* 仅适用布局、信息、框架并不复杂的部门类型网站* 兼容各种设备工作量大,效率低下* 代码累赘,会出现隐藏无用的元素,加载时间加长* 其实这是一种折中性质的设计解决方案,多方面因素影响而达不到最佳效果* 一定程度上改变了网站原有的布局结构,会出现用户混淆的情况。

2023-05-28 10:45:00 2472 1

原创 css如何画一个三角形?原理是什么?

在前端开发的时候,我们有时候会需要用到一个三角形的形状,比如地址选择或者播放器里面播放按钮通常情况下,我们会使用图片或者`svg`去完成三角形效果图,但如果单纯使用`css`如何完成一个三角形呢?实现过程似乎也并不困难,通过边框就可完成。

2023-05-23 23:02:06 134 1

原创 如何实现单行/多行文本溢出的省略样式?

clip:当对象内文本溢出部分裁切掉ellipsis:当对象内文本溢出时显示省略标记(...)text-overflow只有在设置了overflow:hidden和white-space:nowrap才能够生效的举个例子效果如下:可以看到,设置单行文本溢出较为简单,并且省略号显示的位置较好。

2023-05-22 22:56:39 44 1

原创 #盒子模型

当对一个文档进行布局(layout)的时候,浏览器的渲染引擎会根据标准之一的 CSS 基础框盒模型(CSS basic box model),将所有元素表示为一个个矩形的盒子(box)content-box 默认值,元素的 width/height 不包含 padding,border,与标准盒子模型表现一致。padding,即内边距,清除内容周围的区域,内边距是透明的,取值不能为负,受盒子的background属性影响。margin,即外边距,在元素外创建额外的空白,空白通常指不能放其他元素的区域。

2023-05-20 22:58:10 48 1

原创 浅谈BFC

BFC 的中文意思是块级格式化上下文,是用于布局块级盒子的独立渲染区域,一个创建了新的 BFC 的盒子是独立布局的,盒子内元素的布局 不会影响盒子外面的元素。简单来说就是 BFC 就是 css 的一个布局概念,是一个独立的区域(容器) 满足下列条件之一就可以触发 BFC:HTML 根元素position 为 absolute 或 fixedfloat 属性不为 none(常用)overflow 不为 visible(常用)

2023-05-19 23:02:22 38 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除