自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 localStorage、sessionStorage 和 Cookie 区别及用法

区别1.localStorage: localStorage 的生命周期是永久的,关闭页面或浏览器之后 localStorage 中的数据也不会消失。localStorage 除非主动删除数据,否则数据永远不会消失2.sessionStorage: sessionStorage 的生命周期是仅在当前会话下有效。sessionStorage 引入了一个“浏览器窗口”的概念,sessionStorage 是在同源的窗口中始终存在的数据。只要这个浏览器窗口没有关闭,即使刷新页面或者进入同源另一个页面,数据依然

2021-03-25 07:42:50 329 3

原创 vue 视图不更新 什么是Ajax?我们怎样使用Ajax?

vue数组属性发生改变时,视图不更新如何解决data中数据,都是响应式。也就是说,如果操作data中的数据,视图会实时更新;​ 但在实际开发中,若data中数据类型较为复杂,方法methods中改变对象的属性,视图也就是页面并不会改变​ 原因是vue监听不到数据类型特别复杂的属性。​ 原因:因为 vue 的检查机制在进行视图更新时无法监测 数组中的某个对象的属性值的变化。1,使用this.set(this.obj,key,val)来解决对象操作:​三个参数:this.set(this.obj,ke

2021-03-24 07:49:18 106

原创 react组件通信

父组件向子组件通信这是最简单也是最常用的一种通信方式:父组件通过向子组件传递 props,子组件得到 props 后进行相应的处理。import React,{ Component } from "react";import Sub from "./SubComponent.js";import "./App.css";export default class App extends Component{ render(){ return( &l

2021-03-22 21:39:56 137 2

原创 事件,事件流

1,什么是事件​ 事件是文档和浏览器窗口中发生的特定的交互瞬间,例如用户点击内容,鼠标经过特定的元素​ 以及按下某个键盘按键,web页面加载完成,用户滚动。都是事件2,什么是事件流​ 事件流描述的是从页面中接受事件的顺序,事件流分为事件冒泡 事件阶段 事件捕获​ 事件流分为事件冒泡流和事件捕获流​ 事件冒泡流 => ie提出的​ 事件捕获流 => 网景提出的​ 事件流三个阶段顺序 事件捕获 =>事件冒泡3,事

2021-03-21 21:49:54 224 1

转载 事件轮询机制

process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MzY4NzA2OQ==,size_16,color_FFFFFF,t_70#pic_center)最后执行log代码,然后清空然后没有同步代码,就会启动event loop 机制,浏览器触发callback这样执行完了同步代码,一行一行放在call stack 中执行遇到异步,会先“记

2021-03-21 21:41:06 238 1

原创 异步的区别,promise的使用,javascript的同步

1.javascript的同步JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。这是因为Javascript这门脚本语言诞生的使命所致——JavaScript是为处理页面中用户的交互,以及操作DOM而诞生的。比如我们对某个DOM元素进行添加和删除操作,不能同时进行。应该先进行添加,之后再删除。单线程就意味着,所有任务需要排队,前一个任务结束,才会执行后一个务。这样所导致的问题是∶如果JS执行的时间过长,这样就会造成页面的渲染不连贯,导致页面渲染加载阻塞。同步与异步为了解

2021-03-19 07:41:05 217 1

原创 作用域和改变this指向

作用域1 什么是作用域作用于就是在运行代码中的某些特定部分中的变量,函数和对象的可访问性,换句话说作用域决定了代码区块中变量和其他的资源的可见性。function outFun2() { var inVariable = "内层变量2";}outFun2();//要先执行这个函数,否则根本不知道里面是啥console.log(inVariable); // Uncaught ReferenceError: inVariable is not defined我们也可以理解为作用域就是

2021-03-17 21:10:33 142 1

原创 vue组件化 响应式 DOM diff

一. 什么是Vue组件? 如何注册组件?1.1 全局注册组件1.2 局部注册组件二:组件之间数据如何传递的呢?props$emit使用$ref实现通信attrs和listeners 及 inheritAttrs理解 provide 和 inject 用法理解使用bus总线1.1 全局注册组件全局注册有下面两种方式注册:通过 Vue.component 直接注册全局组件可以使用 Vue.component(tagName, option); 来注册组件。 tagName 是自定

2021-03-15 21:29:40 157 1

原创 DOM的操作

JavaScript DOM操作理解DOM的概念和DOM树DOM 节点DOM 写入和查找DOM 操作DOM的概念DOM(Document Object Model ,文档对象模型)一种独立于语言,用于操作xml,html文档的应用编程接口。当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。通过可编程的对象模型,JavaScript ...

2021-03-14 21:44:43 40

原创 面试基础

1,其实基础程序员面试就是考察你的基础知识但是前端面试题会有很多,多到你看不完那种,我们就可以从中间总结题面上的关键字举个例子typeof() 是判断什么js类型的?这个题第一是查看typeof 是怎么使用的,但是就可以从中间引出JS的数据类型:就是JS的基本数据类型和引用数据类型,又可以扩展出栈内存和堆内存,深复制和浅复制,如何使用递归...所以我们看到题就要去思考,看他出的题,然后可以聊朝你掌握熟练的地方引导,这样就可一掌握主动。2,几个常见的面试题1,发送url 到页面加载发生了什

2021-03-14 21:39:57 62

原创 关于rem 针对设计稿宽度

关于rem 针对设计稿宽度,设计rem调试比例rem (font size of the root element), 是 css3 的引入的一个大小单位。即相对于根元素的 font-size 值的大小。所谓根元素在网页里一般就是 html. 举例说明:下例中,html 的 font-size 大小是 20px, 那么 1.4rem 和 2.4 rem 就分别代表着 28px 和 48px 了。 通过设置 根元素<html>的font-size的大小,来控制整个html文档内的字体大小、元

2021-01-14 21:13:58 169

原创 单线程,事件循环,微任务宏任务

单线程,事件循环,微任务宏任务JavaScript是单线程的语言JS 是单线程的语言,所谓“单线程”就是一根筋,对于拿到的程序,一行一行的执行,直到上面的执行为完成,只能做这一件事1.js异步分为两个部分:一是宏任务(setTimeout,script, ui渲染) 二是微任务(promise,process.nextTick)单线程: 一个程序中只可以执行一个任务严格来说,应该是JS引擎中的单线程,JS引擎中是以单线程的形式来运转的。按照队列顺序将任务片段送进JS进程事件循环主线程运行的

2021-01-14 21:07:52 88

原创 Git使用

Git使用Git的工作区:在当前仓库中,新增,更改,删除文件这些动作,都发生在工作区里面$ Git reset git暂存区Git的暂存区:他实际上是一个包含文件索引的目录树,像是一个虚拟的工作区,在这个虚拟的工作区的目录树中,记录了文件名文件信息等,Git的储存区:暂存区可以说是Git的三大重要的区域之一,另外两个分别是工作目录和Git仓库。暂存区是一个简单的索引文件。暂存的这个索引文件里面包含的是文件的目录树,暂存区的这个索引文件里面包含的是文件的目录数,像是一个虚拟的工作区,,在这个虚

2021-01-13 21:42:49 56

原创 Vuex的五个核心属性及辅助函数

Vuex的五个核心属性及辅助函数Vuex是什么??VueX 是一个专门为 Vue.js 应用设计的状态管理架构主要包括几个模块state 保存全局状态的getters 允许组件从state中获取数据,相当于计算属性mutation store中唯一改变state中状态的方法,同步函数actions 用于提交mutation 异步操作modules 拆分多个模块的辅助函数mapState引入import { mapState } from 'vuex3种方法1 对象:comput

2021-01-13 19:56:15 101

原创 Github 的使用

Git使用Git的工作区:在当前仓库中,新增,更改,删除文件这些动作,都发生在工作区里面$ Git reset git暂存区1Git的暂存区:他实际上是一个包含文件索引的目录树,像是一个虚拟的工作区,在这个虚拟的工作区的目录树中,记录了文件名文件信息等,Git的储存区:暂存区可以说是Git的三大重要的区域之一,另外两个分别是工作目录和Git仓库。暂存区是一个简单的索引文件。暂存的这个索引文件里面包含的是文件的目录树,暂存区的这个索引文件里面包含的是文件的目录数,像是一个虚拟的工作区,,在这个

2021-01-13 19:54:38 46

原创 关于冒泡排序和递归函数的讲解

冒泡排序是什么通过对待排序的序列从前向后依次比较相邻元素的值,如果发现逆序则交换。逆序的含义:如果想把序列从小到大排序,那么两个数中前面的比后面的大就是逆序。若需求是将序列从小到大排序,那么每一趟比较都会把值较大的逐渐从前面移动到后面。这个数组显然是杂乱无章的,我们不管是要将它升序排列还是降序排列,其目的都是让它成为有序的数组。let arr = [1,35,42,52,47,45,2,3,5,84,55,2,45]定义两个变量 i 和 j,初始状态 i 存第一个元素的索引,j存i代表元素的下一

2021-01-11 20:04:30 117 1

原创 BOM对象

【 浏览器对象模型BOM】** 1 BOM对象的概念**BOM(Browser Object Model) 是指浏览器对象模型,浏览器对象模型提供了独立于内容的、可以与浏览 器窗口进行互动的对象结构。BOM由多个对象组成,其中代表浏览器窗口的Window对象是BOM的顶层对象,其 他对象都是该对象的子对象。2 BOM对象的核心BOM的核心对象是window(窗口对象); windo...

2020-01-14 18:56:54 110

原创 数组构造及使用

数组的概念所谓数组,就是将多个元素按一定顺序放到一个集合中,那么这个集合我们就称之为数组数组的定义:属猪是一个有序的列表,可以在数组中存放任意的数据,并且数组的长度可以动态调整。案例1:通过字面量创建数组1采用直接量创建var arr=[]; //创建一个空数组var arr2=[1,2,3,41] // 创建一个有四个的元素的数组2 采用构造函数创建var mm=new A...

2019-12-23 11:21:19 550

原创 javaScrinpt

1、函数1-1、函数的概念函数是当被调用时执行的可重复使用的代码块12-2、函数的命名规则1、有数字,字母,下划线-,美元符号组成2、不能以数字开头3、不能是关键字4、区分大小写5、驼峰命名法函数是当被调用时执行的可重复使用的代码块2-3、函数的调用的俩种方式1、function fn(){ var sum = 0; for(var i = 1;i<...

2019-12-22 19:16:11 141

原创 if 语句判断

语法构造if(条件表达式){执行语句}第二种if(条件表达式){}else{否则执行语句}第三种方式if(条件1){成立执行语句}else if(条件2){成立条件语句}else if(条件3){成立执行语句}else{最后默认执行语句}案例var x=prompt("请输入成绩")// 多分支方式if(x>100||x<0){ ale...

2019-12-19 11:25:11 177

原创 常用的运算符

常用的运算符逻辑运算符&& 与 两个操作数同时为true,结果为true否则都是fales!! 或 两个操作数有一个false 结果都为false!非 取反算数运算符+ - * / % 关系运算符< > >= <= == != === !== var result = '55' == 55; // truevar res...

2019-12-18 17:10:05 105

原创 数值转换

类型有以下几种NumberStringBooleanundefinednull转为Number类型(类型转换)Boolean类型转换为Number类型true转为1false转为0String类型转为Number类型 var num="123" console.log(Number(num)); //转为 数字 123; var num="文字" ...

2019-12-18 11:37:28 150 1

原创 javaScript 基础了解

JavaScript历史javaScript :因为互联网而生,在紧跟着浏览器的出生二问世。回顾他的历史,就要冲浏览器的历史讲起1990年,欧洲的Tim Berners-Lee(伯纳斯.李)在互联网基础上发明了万维网,可以在网页上浏览器的网页文件。最早的网页只能在操作系统的终端里浏览,也就是只能命名的行为,在网页字符窗口里显示,非常的不方便。1992年,NESA开始开发一个独立的浏览器,叫...

2019-12-16 18:24:47 119 1

空空如也

空空如也

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

TA关注的人

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