自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 js内部类型转换与‘==‘执行流程

偏字符串该算法返回原始值,只要有可能就返回字符串。 1. 该方法会优先尝试调用toString()方法,若该方法有定义且返回的值为原始值,则使用该值。否则下一步; 2. 尝试调用valueOf()方法,若该方法有定义且返回值为原始值,则使用该值,否则下一步; 3. 抛出type error错误。偏数值该算法返回原始值,只要有可能就返回数值。该方法与偏字符串算法类似,但是先调用valueOf()方法再调用toString()方法。无偏好该算法不倾向于任何原始值类型,而是

2022-03-25 16:50:53 1728 2

原创 浅谈完全深拷贝(循环引用,函数,正则,Symbol,Error类型)

普通类型拷贝Number String Boolean对于这三种数据类型非引用类型的拷贝,直接return即可undefined 与 null为什么将这两者单独拿出来说呢?其实涉及到一个知识点,undefined与null在’=='状态下是相等的,而且拷贝这两种数据类型也是...

2022-03-24 17:10:02 1656

原创 js手写promise(then(),catch(),all(),race())

Promise作用所谓Promise,中文意思是期限,承诺的意思,就是使用一个对象来传递一个未来将要发生的事(promise),而到了那时(then),再来查看成功还是失败再来绝对将要执行的操作。(onResolve,onReject)。博主一年前曾粗略地学习过promise地使用与实现,但当时理解较为浅薄。冷饭重炒,希望能发现一些新的东西。希望读者能够加以批评指正。博主这次希望以一个循序渐进来发现问题的过程(前提是熟悉promise的使用)来搭建这次代码实现;若只需手写代码,则直接移步第五章。1.

2022-03-18 17:33:09 650

原创 js手写call(),apply(),bind() (this 绑定问题)

this绑定关于实现call(),bind(),apply()最离不开的话题便是this绑定问题this默认绑定this的默认绑定也称window绑定,是下面四种绑定之外的this绑定,出现于在js中无任何前缀直接调用函数。例如:// 非严格模式下function fun() { console.log(this)}fun() // window对象需要注意的是,在严格模式下,默认绑定的this指向的是undefined。'use strict';function fun()

2022-03-17 17:59:10 579

原创 js数组基础归纳(数组判断,数组扁平化,数组去重,数组求和,数组乱序输出,数组相关方法手写实现)

数组数组作为js八种数据类型的一种,其作用是使用单独的变量名来储存一系列的值。对于typeof判断的值为object。1.数组判断1.1 constructorconsole.log([1,2].constructor === 'Array')原理:通过查看变量的构造函数来判断改变量是否为数组类型。缺点: 若对象原型被修改,判断则不准确。1.2 Object.prototype.toString.call()console.log(Object.prototype.toString.ca

2022-03-16 21:42:09 786

原创 js 浅拷贝与深拷贝原理解析即常用实现

数据类型的储存要说浅拷贝与深拷贝,就首先得从数据类型说起,众所周知,js的数据类型大体分为两类,基本数据类型和引用数据类型,基本数据类型包括:Number,String,boolean,null,undefined;引用数据类型包括function,Object和Array。其中基本数据类型储存在栈内存中,引用数据类型储存在堆内存中,这里详细的可以借鉴JavaScript变量——栈内存or堆内存这篇博文。而我们需要了解的是,当变量赋值时,传递的值究竟是什么?赋值传递let a = 1let b =

2022-03-15 16:02:38 744

原创 js数据类型判断的五种方法及归纳

js数据类型众所周知,js数据类型分为原始数据类型和引用数据类型,原始数据类型包括Number,String,boolean,undefined,null,储存在栈内存中,栈中储存的数据就是数据本身。引用数据类型包括function,object,Array。储存在堆内存中,其中在栈内存中储存了指针,保存了数据在堆内存中的位置。当然,在es6引入了Symbol数据类型和BigInt数据类型,其中Symbol代表创建后独一无二且不变的数据类型,主要作用是为了解决可能出现的全局变量冲突的问题;BigInt是

2022-03-12 10:45:59 458

原创 js手写防抖函数以及遇到的一些问题

js防抖函数的作用函数防抖(debounce),就是指触发事件后,在 n 秒内函数只能执行一次,如果触发事件后在 n 秒内又触发了事件,则会重新计算函数延执行时间。代码:function debounce(fn,delay) { let timer = null; return function() { let context = this, arr = arguments }}...

2022-03-11 12:42:32 758

原创 js手写new(保姆级教学)

new关键字作用众所周知,js中new关键字的作用就是创建一个构造函数的实例对象。如下面代码:(注意:构造函数的第一个字母大写,与普通函数区分。)function Person(name,age) { this.name = name this.age = age}let p1 = new Person("张三",18) //Object { name: "张三", age: 18 }由上面代码可知,new关键字创建实例对象完成后,会产生以下影响:会执行构造函数中的代码:funct

2022-03-10 16:30:32 1677

原创 js手写instanceof

instanceof的作用instanceof 运算符用于判断构造函数的 prototype 属性是否出现在对象的原型链中的任何位置。参数包括: left (实例对象) rigth(构造函数)即判断left是否为该构造函数的实例对象。手写步骤:首先获取实例对象的__proto__(原型);其次获取构造函数的prototype(原型);循环判断实例对象的原型是否等于构造函数的原型,直到对象原型最终为null(原型链的最终为null)。代码:function myInstanceof(le

2022-03-10 15:32:00 174

原创 纯css实现正方体图片旋转效果

纯css实现正方体图片旋转效果目标效果基本思路代码实现主要困难注意:(该代码暂未解决兼容性问题,在google浏览器中可顺利运行)目标效果鼠标移入之后,图片开始依次旋转平移,旋转平移完成后六面体开始旋转基本思路首先要为html添加上视距以保证z轴的平移其次使用hover效果,利用transform实现翻转,利用transition过渡效果实现图片旋转平移,采用animutation实现动画的一直播放。然后要体现“依次”,需在transition中加入延时效果最后,需添加上transform

2021-08-07 19:32:45 609

空空如也

空空如也

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

TA关注的人

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