自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 对象和数组的深浅拷贝,深浅比较

// 第一种,但是会有正则变为空对象/function消失/日期变为字符串/Symbol、undefined消失/BigInt报错的问题let newObj = JSON.parse(JSON.stringify(obj))// 第二种function deepClone(obj){ const constructor = obj.constructor; if(obj === null) return null; if(typeof obj !== "object") return obj;

2020-08-25 00:53:06 310

原创 函数的三种角色

Function.proto == Function.prototypeFunction.prototype.proto. == Object.prototypeObject instanceof FunctionFunction instanceof Object

2020-08-24 23:22:35 109

原创 this的五种情况

this:全局上下文中的this => window;快级上下文中没有自己的this ,它的this是继承所在上下文中的this;在函数的私有上下文,this的情况分多种。this与执行上下文:this是执行主体,EC(Excution Context)是执行上下文。五种情况:事件绑定:给元素的某个事件行为绑定方法,当事件行为触发,方法执行,方法中的THIS是当前元素本身(特殊:IE6~8中基于attachEvent方法实现的DOM2事件绑定,事件触发,方法中的THIS是WINDOW而不是元素

2020-08-21 00:13:46 1130

原创 高阶函数编程,以及一些知识点

匿名函数具名化1、设置的名字只能在函数内部使用,外部无法使用,可以替代严格模式下不支持的arguments.callee,并以此实现递归2、在函数内部修改这个名字,是无法修改的,依然代表这个函数本身,除非这个名字在函数体中被重新声明过,重新声明过,一切以声明为主,比如(function fn(){ // console.log(fn); // 函数本身 // fn = 10; // console.log(fn); // 函数本身 console.log(fn); // undefin

2020-08-20 23:09:40 247

原创 带var和不带var的区别

// 在当前上下文中遇到一个变量,如果不是自己私有的,则向上级上下文中查找,// 一直找到EC(G)为止,如果EC(G)中也没有:// 1、如果是获取变量的值,则直接报错// 2、如果是设置变量的值,则相当于给window(GO)设置一个属性// GO全局对象和VO(G)全局变量对象的关系// 两者存在映射关系,创建一个全局变量,也相当于给GO设置一个属性(let,const除外)// ...

2020-08-20 00:22:21 219

原创 时间字符串格式化,获取URL地址问号后面的参数信息,千分符处理

~function(){ /* *formatTime:时间字符串格式化处理 * @params[string] * template:处理之后的时间格式 * @return[string] */ function formatTime(template = "{0}年{1}月{2}日 {3}时{4}分{5}秒"){ let timeArr = this.match(/\d+/g); // console.log(timeArr); template = template.rep

2020-08-15 00:26:45 199

原创 JS中的多种继承方式

第一种:原型继承(子类的原型等于父类的实例)function Parent(){ this.x = 100}Parent.prototype.getX = function(){ return this.x;};function Child(){ this.y = 200;}Child.prototype = new Parent;Child.prototype.getY = function(){ return this.y;};let c1 = new Child;//

2020-08-13 23:42:38 249

原创 一些正则表达式

// 有效数字,匹配+1.1,1,0.1,12,-1.2等let reg = /^[+-]?(\d+|([1-9])\d+)(\.\d+)?$/// 密码,数字,字母,下划线,6~16位let reg = /^\w{6,16}$/// 真实姓名let reg = /^[\u4E00-\u9FA5]{2,10}(·[\u4E00-\u9FA5]{2,10}){0,2}$/// 邮箱let reg = /^/w+((-\w+)|(\.\w+))*@[A-Za-z0-9]+((\.|-)[A-

2020-08-12 18:54:18 99

原创 防抖和节流

/**防抖:只执行一次*/function debounce(func,wait=500,immediate=false){ // func,要执行的函数 // wait,等待世间 // immediate,是否立即执行 let timer = null; return function anonymous(...params){ let now = imemediate && !timer; timer = setTimeout(()=>{ timer

2020-08-09 00:33:03 87

原创 JS instanceof call bind 等源码

instanceof/**params:example(要检测的实例),classFunc(要检测的类)***/function instanceof(example,classFunc){ let classPrototype = classFunc.prototype; proto = Object.getPrototypeOf(example); while(true){ //到了Object.prorotype.__proto__ = null if(proto ===

2020-08-09 00:09:15 176

空空如也

空空如也

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

TA关注的人

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