自定义博客皮肤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)
  • 收藏
  • 关注

原创 Vue的双向数据绑定原理(极简版)

先说面试答案: 答: vue.js是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调来渲染视图。 具体步骤: 第一步: 需要observer(观察者)对数据对象进行递归遍历,包括子属性对象的属性,都加上 setter和getter 这样的话,给这个对象的某个值赋值,就会触发setter,那么就能监听到了数据变化 第二步: compile(模板解析器)解析模板指令,

2021-10-12 20:56:11 174

原创 HTTP常见的状态码有哪些? 适用场景?

一、HTTP是什么 HTTP状态码‘(英语:HTTP Status Code)、用以表示网页服务器超文本传输协议响应状态的3位数字代码。 它由RFC 2616规范定义的,并得到(RFC 2518, RFC 2817)与(RFC 4918)等规范扩展。 简单来讲,http状态码的作用是服务器告诉客户端当前请求响应的状态,通过状态码就能判断和分析服务器的运行状态。 二、分类 状态码第一位数字决定了不同的响应状态 1.表示消息 ...

2021-10-07 19:33:27 227

原创 JS数组常用方法

push() 将参数追加到数组尾部,返回添加后的数组的长度,原数组会发生改变 unshift() 将参数放到数组头部,返回添加后的数组的长度,原数组会发生改变 pop() 从数组尾部删除一个元素,返回这个被删除的元素,原数组发生改变 shift() 从数组头部删除一个元素,返回这个被删除的元素,原数组发生改变 sort() 排序 splice() 截取 没有参数的话返回空数组,原数组不变,一个参数,从该参数的索引截取,返回截取的数组,原数组改变;两个参数,第一个参数表示开始截取的索引位

2021-10-05 20:18:58 74

原创 js中的数据类型

一.js数据类型有哪些? 基本数据类型:String、Number、Symbol、null、undefined、Boolean、BigInt 引用数据类型:Object、Array、Function、Date、RegExp 基本数据类型又叫原始值类型 /值类型。引用数据类型叫对象数据类型,在js中Object是一个基类。 数据类型判断 1.typeof typeof 只能判断基本数据类型,判断引用数...

2021-10-05 19:53:39 128

原创 原生ajax

一.什么是ajax ajax的出现,刚好解决了传统方法的缺陷。AJAX 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 原生js实现ajax JQuery提供的Ajax方法: $.ajax({ url: , type: '', dataType: '', data: { ...

2021-10-04 13:11:07 62

原创 Async和Await

await后面接一个会return new promise的函数并执行它 await只能放在async函数里 使用async和await获取成功的结果 function 摇色子(){ return new Promise((resolve, reject)=>{ let sino = parseInt(Math.random() * 6 +1) setTimeout(()=>{ resolve(sino) },

2021-10-04 13:06:01 52

原创 Promise如何使用?

1.Promise是什么? 1.Promise是异步编程的一种解决方案,在ES6中Promise被列为了正式规范,统一了用法,原生提供了Promise对象。 2.Promise的基础用法 // resolve代表成功 reject失败 都是一个函数 let p = new Promise(function(reslove,reject){ //reslove('成功') //状态由等待变为成功,传的参数作为then函数中成功函数的实参 reject('失败') //状态由等

2021-10-01 14:59:25 391

原创 箭头函数与普通函数区别

箭头函数: let fun = () => { console.log('lalalala'); } 普通函数: function fun() { console.log('lalla'); } 箭头函数的出现就是为了解决ES5中this指向混乱的问题 箭头函数的this指向来自父级上下文,箭头函数没有自己的this 箭头函数的this不会在调用的时候被改变,在箭头函数声明的时候他的this就已...

2021-09-30 21:10:40 57

原创 Let var const区别

var 如果使用关键字var声明一个变量,那么这个变量就属于当前的函数作用域,如果声明是发生在任何函数外的顶层声明,那么这个变量就属于全局作用域。 var a = 1; //此处声明的变量a为全局变量 function foo(){ var a = 2;//此处声明的变量a为函数foo的局部变量 console.log(a);//2 } foo(); console.log(a); //1 注意:var声明的变量存在提升。 Let 1.Let...

2021-09-29 17:23:50 59

原创 组合继承、原型链继承、寄生组合继承、call继承(借用构造函数继承)

方案一:原型链继承 //父类 function A(x) { this.x = x } A.prototype.getX = function () { console.log(this.x); } //子类 function B(y) { this.y = y } B.prototype = new A(100);//{x:100} ==> __proto__.getX =fn

2021-09-28 14:46:03 183

空空如也

空空如也

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

TA关注的人

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