自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 资源 (1)
  • 收藏
  • 关注

原创 DOM事件基础

事件基础文章目录事件基础事件概述事件三要素执行事件的步骤常见的鼠标事件事件概述JavaScript使我们有能力创建动态页面,而事件是可以被监测到的行为简单理解:触发——响应机制网页中的每个元素都可以产生某些可以触发JavaScript的事件,例如,我们可以在用户点击某按钮时产生一个事件,然后去执行某些操作。事件三要素事件是由三部分组成:事件源、事件类型、事件处理程序。称为事件三要素<button id="btn">点击触发事件</button>事件源:事件触发的

2021-10-17 20:24:34 133

原创 DOM获取元素

DOM 获取元素文章目录DOM 获取元素DOM简介什么是DOM如何获取元素根据ID获取根据标签名获取通过HTML5新增的方法获取(IE浏览器只有IE9以上才能使用)特殊元素的获取DOM简介什么是DOM文档对象模型(Document Object Model,简称DOM),是w3c组织推荐的处理可扩展标记语言(XML 或HTML)的标准编程接口W3C已经定义了一系列的DOM接口,通过这些接口可以改变网页的内容、结构、样式如何获取元素主要有以下几种方法:根据ID获取根据标签名获取通过HTM

2021-10-17 20:01:14 142

原创 BOM窗口操作

BOM窗口操作窗口关系top对象始终指向最上层(最外层)窗口(因为可能存在iframe嵌套),即浏览器本身。如果当前窗口就是最上层窗口,则parent等于top(都等于window)。还有一个self对象,它是终极的window属性,始终会指向window。实际上window与self就是同一个对象,之所以要暴露self,就是为了和parent和top一致窗口位置与像素比window对象的位置可以通过不同的属性和方法来确定,浏览器提供了screenLeft和screenTop属性,用于表示窗口相对于

2021-10-16 14:53:06 387

原创 location对象

location对象window 对象给我们提供了一个location属性用于获取或设置窗体的URL,并且可以用于解析URL。因为这个属性返回的是一个对象,所以我们讲这个属性称为location对象文章目录location对象URLlocation对象location对象属性location对象的方法URL统一资源定位符,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎样去处理它。URL 的语法格式protocol://host[:po

2021-10-13 22:56:41 99

原创 JS执行队列

Js执行队列文章目录Js执行队列JS执行机制同步和异步同步异步同步任务异步任务JS执行机制JavaScript语言的一大特点是单线程,也就是说,同一个时间只能做一件事。这是因为JavaScript这门脚本语言诞生的使命所致——JavaScript是处理页面中用户交互,以及操作DOM而诞生的,比如我们对某个元素进行添加和删除操作,不能同时进行,应先添加,之后删除。同步和异步HTML5提出Web Worker标准,允许JavaScript脚本创建多个线程。于是JS中出现了同步和异步同步前一个任务结

2021-10-12 12:25:45 108 1

原创 定时器的使用

定时器文章目录定时器setTimeout()定时器停止setTimeout()定时器setInterval()定时器停止 setInterval()定时器window对象给我们提供了两个非常好用的方法——定时器setTimeout()setInterval()setTimeout()定时器window.setTimeout(调用函数,延迟毫秒数);setTimeout()方法用于设置一个定时器,该定时器在定时器到期后执行调用函数注意:window可以省略调用函数可以直接写函数,也可

2021-10-12 11:10:41 162

原创 window对象常见事件

window对象常见事件文章目录window对象常见事件窗口加载事件调整窗口大小事件窗口加载事件window.onload=function(){}或者window.addEventListener('load',function(){})window.onload是窗口(页面)加载事件,当文档内容完全加载完会触发该事件(包括图像,脚本文件,CSS文件等),就调用处理函数注意:有了window.onload就可以把JS代码写到页面元素上面,因为onload是等页面内容全部加载完毕,再去

2021-10-11 22:57:34 225

原创 BOM概述

BOM概述BOM(Browser Object Model )即浏览器对象模型,他提供了独立于内容和浏览器窗口进行交互的对象,其核心对象是windowBOM由一系列相关的对象构成,并且每个对象都提供了很多方法和属性BOM浏览器对象模型把浏览器当作一个对象来看BOM的顶级对象是windowBOM学习的是浏览器窗口交互的一些对象BOM是浏览器厂商在各自浏览器上定义的,兼容性较差window对象是浏览器的顶级对象,他具有双重角色他是JS访问浏览器窗口的一个接口它是一个全局对象,定义在全

2021-10-11 22:26:13 69

原创 一些有用的代理模式

代理模式资料来源JavaScript高级程序设计使用代理可以在代码中实现一些有用的编程模式跟踪属性访问通过捕获get、set和has等操作,可以知道对象属性什么时候被访问、被查询。把实现相应捕获器的某个对象代理放到应用中,可以监控这个对象何时在何处被访问const user={ name:'yihen'}const proxy=new Proxy(user,{ get(target,property,receiver){ console.log(`获取属性${p

2021-10-07 21:20:38 74

原创 代理捕获器与反射方法

代理捕获器与反射方法资料来源JavaScript高级程序设计代理可以捕获13种不同的基本操作。这些基本操作有各自不同的反射API方法、参数、关联ECMAScript操作和不变式。文章目录代理捕获器与反射方法get()set()has()definePropertygetOwnPropertyDescriptor()deleteProperty()ownKeys()getPrototypeOf()setPrototypeOf()isExtensible()preventExtensions()apply

2021-10-06 16:52:22 147

原创 捕获不变式

捕获器不变式使用捕获器几乎可以改变所有基本方法的行为,但也不也是没有限制。根据ECMAScript规范,每个捕获的方法都知道目标对象的上下文、捕获器签名,而捕获器处理程序的行为必须遵循“捕获器不变式”。捕获器不变式因方法不同而不同,但通常都会防止捕获器顶定义出现过于反常的行为比如,如果目标对象有一个不可配置且不可写的数据属性,那么捕获器返回一个与该属性不同的值时,会抛出TypeErrorconst target={ get(){ return "hello" }}

2021-10-05 12:45:43 170

原创 代理与反射之捕获器

捕获器每个代理的主要目的是可以定义捕获器,捕获器就是在处理程序对象中定义的的基本操作的拦截器。每个处理程序对象可以包含0个或多个捕获器,每个捕获器都对应一种基本操作,可以直接或间接在代理对象上调用。每次在代理对象上调用这些基本操作时,代理可以在这些操作传播到目标对象之前先调用捕获器函数,从而拦截并修改相应的行为const test={ name:"yihen"}const tag={ // 捕获器在处理程序对象中以方法名为键 get(){ retur

2021-10-03 22:22:27 277

原创 手写Promise(三)——最终版

最终版最终版添加了catch、resolve、reject、all、race方法,最终以类的形式封装class Promise { // 构造方法 constructor(executor) { // 添加状态 this.PromiseState = 'pending' this.PromiseResult = null; // 声明属性 this.callback = []; // 保存

2021-09-26 16:23:40 76

原创 手写Promise(二)——then方法的添加

then方法的添加最终代码放在最下面文章目录then方法的添加最终代码在有了构造函数的框架下,最重要的then方法应该怎么添加呢?最好的方法当然是添加到原型里了!分析内置的Promise的then方法,他接受两个参数,所以我们可以写成这样:// 添加then方法Promise.prototype.then = function (onResolve, onRejected) { // 通过实例的PromiseState判断执行哪一个参数 if (this.PromiseStat

2021-09-25 16:18:00 762

原创 手写Promise(一)——构造声明函数

手写Promise构造函数完整的代码放在最下面文章目录手写Promise构造函数最终的代码在JS内置的Promise方法中,我们是这样声明的:const promise=new Promise((resolve,reject)=>{})所以我们要手写Promise的第一步就是覆盖掉原来的Promise。分析一下,在内置的Promise方法中,接收一个参数,是执行函数,所以我们手写的Promise也得有一个形参,并且在new 的时候会直接调用该实参,实参的执行器函数接收两个参数,所以代码如

2021-09-25 12:34:08 320

原创 Ajax速通(五)——fetch

fetch服务端代码const { request, response } = require('express');const expres=require('express');const app=expres();// fetch服务app.all('/fetch-server',(request,response)=>{ // 设置响应头,设置允许跨域 response.setHeader('Access-Control-Allow-Origin',"*");

2021-09-20 23:53:06 75

原创 Ajax速通(四)——axios

axios服务端代码const { request, response } = require('express');const expres=require('express');const app=expres();// axios服务app.all('/axios-server',(request,response)=>{ // 设置响应头,设置允许跨域 response.setHeader('Access-Control-Allow-Origin',"*");

2021-09-20 23:51:29 93

原创 Ajax速通(三)——Ajax-Jquery

Ajax-JqueryJquery引入推荐使用https://www.bootcdn.cn/实例服务端代码// 1. 引入expressconst { response } = require('express');const express =require('express');// 2. 创建应用对象const app= express();// 3. 创建路由规则// request 是对请求报文的一个封装// response 是对响应报文的一个封装app.g

2021-09-20 23:48:29 92

原创 Ajax速通(二)——原生Ajax

原生Ajax所有操作都以注释的形式写在实例代码中文章目录原生Ajax重启工具nodemon安装服务端代码Ajax Get 请求Ajax POST请求Ajax JSON 响应IE 缓存问题请求超时或网络异常取消请求重复请求问题重启工具nodemon安装在测试的时候,我们需要频繁更改服务端代码,但是每次更改都需要重启一次过于麻烦,所以我们借助nodemon工具实现自动重启。安装方法:在终端输入 npm install -g nodemon使用方法:nodemon js文件如果报错:可以参考这个

2021-09-20 23:40:07 145

原创 Ajax速通(一)——前置知识

Ajax前置知识文章目录Ajax前置知识HTTP协议请求报文响应报文nodejs安装express框架的安装express的基本使用示例测试HTTP协议HTTP(hypertext transport prototool) 协议[超文本传输协议],协议详细规定了浏览器和万维网服务器之间互相通信的规则。主要规定了两块内容:请求和响应。该内容可大致知道,不需要刻意记住请求报文这里重点介绍格式与参数请求行:包含三部分 1. 请求类型(如get) 2.url路径(域名后面的内容,3. HTTP协议版

2021-09-20 23:06:06 398

原创 超详细Javascript数组使用

Javascript数组文章目录Javascript数组创建数组类数组转换为数组fromof数组空位数组索引迭代器方法复制与填充转换方法栈方法队列方法排序方法操作方法1. ```concat()```2. ```slice()```3.```splice()```创建数组这里提供两种方法创建数组new Array()let test=new Array();console.log(test) // []可以传入参数,如果传入的参数是数值,那么length会被赋值为传入的参数 let t

2021-09-15 22:11:49 259 1

原创 CSS进阶之堆叠上下文

堆叠上下文堆叠上下文(stack content),它是一块区域,这块区域有某个元素创建,它规定了该区域的内容在z轴上排列的先后顺序文章目录堆叠上下文创建堆叠上下文的元素同一个堆叠上下文中元素在z轴上的排列顺序。创建堆叠上下文的元素html元素(根元素)设置了z-index数值(非auto值)的定位元素同一个堆叠上下文中元素在z轴上的排列顺序。从后到前的排列顺序:创建堆叠上下文的元素的背景和边框堆叠级别(z-index,stack level)为负数的堆叠上下文,负数相同后面的覆盖前

2021-09-04 00:07:24 67

原创 CSS进阶之行盒的垂直对齐

行盒的垂直对齐文章目录行盒的垂直对齐多个行盒垂直方向上的对齐图片的底部白边多个行盒垂直方向上的对齐给没有对齐的元素设置CSS属性:vertical-align(设置在行盒上)预设值middle: 中线对齐bottom: 底边对齐top: 顶边对齐text-top:文字顶边对齐text-bottom:文字底边对齐<p> <input type="checkbox"> <span>无对齐</span>

2021-09-03 12:11:14 158

原创 CSS进阶之浮动的细节规则

浮动的细节规则盒子位置左浮动的盒子向上向左排列右浮动的盒子向上向右排列浮动盒子的顶边不得高于上一个盒子的顶边若剩余空间无法放下浮动盒子,则该盒子向下移动,直到具备足够的空间能容纳盒子,然后再向左或向右移动示例指向左边的箭头表示左浮动若剩余空间无法放下浮动的盒子,则该盒子向下移动,直到具备足够的空间能容纳盒子,然后再向左或向右移动。浮动盒子的顶边不得高于上一个盒子的顶边资料来源于渡一教育,仅作学习使用...

2021-09-03 11:52:00 130

原创 CSS进阶之块级格式化上下文

块级格式化上下文全称 Block Formatting Context , 简称BFC它是一块独立的渲染区域,它规定了在该区域中,常规流块盒的布局,常规流块盒在水平方向上, 必须撑满包含块.常规流块盒在包含块的垂直方向上依次摆放常规流块盒若外边距无缝相邻, 则进行外边距合并常规流块盒的自动高度和摆放位置, 无视浮动元素BFC的渲染区域:这个区域由某个HTML元素创建, 以下元素会在其内部创建BFC区域:根元素(< html >元素创建的BFC区域,覆盖了网页中的所有元素)

2021-09-03 01:00:56 117

原创 CSS进阶之web字体和图标

web字体和图标如果字体名字是多个单词, 要用引号包围文章目录web字体和图标web字体字重(font-weight)字号(font-size)文本颜色(color)字体风格(font-style)大小写转换下划线等(text-decoration)文本阴影 (text-shadow)空白处理(white-space)文本溢出处理(让溢出部分显示为...)首行文本缩进(text-indent)文本对齐方式(text-align)垂直对齐(vertical-align)字符间距排版模式(writing-m

2021-09-02 14:17:15 100

原创 CSS进阶之@规则

@规则import@import ‘路径’; 表示导入另外一个CSS文件@import "rest.css";比如导入重置样式charset@charset ‘utf-8’; 告诉浏览器该CSS文件,使用的字符编码集为utf-8,且必须写到CSS文件中的第一行@charset 'utf-8';@import 'rest.css';...

2021-09-02 12:28:42 57

原创 HTML进阶之其他元素

其他元素abbr缩写词<abbr title="cascading style sheet">CSS</abbr>是用于为页面添加样式其中title用来写缩写词的全称time提供给浏览器或搜索引擎阅读的时间datetime中放置标准的时间格式:datetime属性中,日期和时间之间要用’T’文字分.时间加上Z表示机器编码时使用UTC标准时间.时间后面可以加上时间差, 表示向机器编码另一地区时间<time datetime="2020-2-2"

2021-09-01 15:27:58 42

原创 HTML进阶之美化表单元素

美化表单元素文章目录美化表单元素新的伪类常见用法新的伪类focus表示元素聚焦时的样式 input:focus{ outline: 1px #008c8c solid; outline-offset: 0px; color: aquamarine; }tabindex属性可以设置聚焦顺序(即按下tab键时, 聚焦的顺序)checked单选或多选框被选中时的样式单选框和单选框可以改变的样式极少, 一般用于改变子元素的样式

2021-09-01 15:11:12 250

原创 HTML进阶之表单元素

表单元素一系列元素, 主要用于收集用户数据input元素主要做输入框type属性:表示输入类型<input type="text"> 普通类型文本框<input type="password" placeholder="请输入密码"> 密码框<input type="date"> 日期选择框,有兼容性问题<input type="search"> 搜索框,有兼容性问题<input type="range"> 滑块,有兼容性问题&

2021-08-31 16:54:31 89

原创 HTML进阶之iframe元素

iframe元素框架页,通常用于在一个网页中嵌入另一个页面><iframe src="https://www.douyu.com" ></iframe> src中输入需要链接网站的地址,该元素为可替换元素通常是行盒通常显示的内容取决于元素的属性CSS不能完全控制其中的样式具有行块盒的特点a元素可以通过target属性,在自己网站中打开别人网站<iframe name="myframe" src="https://www.douyu.com" &

2021-08-31 16:00:51 1082

原创 CSS属性之其他的样式

其他的样式文章目录其他的样式透明度鼠标样式盒子隐藏背景图背景图和img的区别涉及的CSS属性透明度opacity, 它设置的是整个元素的透明度, 取值位0~1.0为完全透明,看不见. 1为完全不透明在颜色位置设置alhpa通道(rgba, 第四个参数为颜色透明度)color:rgba(0,0,0,.5)鼠标样式使用cursor设置比如 cursor:pointer , 详情属性请看这里盒子隐藏display:none, 不生成盒子, 但是可能改变盒子排版visibil

2021-08-30 16:57:16 99

原创 CSS基础之其他的选择器

其他的选择器:first-child选择第一个子元素,li:first-child 表示选中li中的第一个li, 且被选中的该li元素必须是其父元素下的第一个子元素 <!-- 这种情况下first-child是不能选中li的. 因为li不是ul下的第一个子元素,如果去掉p元素就可以 使用first-child选中 --> <ul> <p>lorem1</p> <li></

2021-08-30 16:11:39 100

原创 CSS基础之定位

定位手动控制元素在包含块中的位置设置的css属性 position文章目录定位position属性相对定位绝对定位固定定位定位下的居中多个定位元素重叠时补充position属性默认值: static, 静态定位(不定位)relative: 相对定位absolute: 绝对定位fixed: 固定定位一个元素, 只要position的取值不是static,就认为该元素是一个定位元素.定位元素回脱离文档流(相对定位除外)一个脱离了文档流的元素:文档流中的元素摆放,会忽略脱离了文档流

2021-08-30 15:53:21 53

原创 CSS基础之浮动

浮动文章目录浮动应用场景浮动的基本特点盒子尺寸盒子排列高度坍塌!!!应用场景文字环绕横向排列浮动的基本特点修改float属性为:left: 左浮动, 元素靠上靠左排列;float:leftright: 右浮动, 元素靠上靠右排列; float:right默认值为none当一个元素浮动后, 元素必定为块盒(更改display属性block)浮动元素的包含块. 和常规流元素一样, 为父元素的内容盒盒子尺寸宽度为auto时, 表示适应内容宽度(没有内容宽度为0)高度为au

2021-08-29 17:08:58 62

原创 CSS基础之常规流

常规流文章目录常规流前置知识常规流布局前置知识盒模型: 规定单个盒子的规则.视觉格式化模型(布局规则): 页面中的多个盒子的排列规则视觉格式化模型, 大体上将页面中盒子的排列分为三种方式:常规流浮动定位常规流布局常规流, 也叫文档流, 普通文档流,常规文档流所有元素, 默认情况下, 都属于常规流布局总体规则: 块盒独占一行, 行盒水平依次排列包含块:( containing block): 每个盒子都有它的包含块, 包含块决定了盒子的排列区域.绝大多数情况下, 盒子的包含块,

2021-08-29 16:35:16 110

原创 CSS基础之行盒的盒模型

行盒的盒模型display:inline常见的行盒: 包含具体内容的元素span , strong, em , i , img, video, audio文章目录行盒的盒模型显著特点行块盒空白折叠可替换元素 和 非可替换元素显著特点盒子的大小沿着内容延申行盒不能设置宽高, 行盒的宽高取决于内容的多少, 字体的大小, 行高. 所以调整行盒的宽高, 应该使用字体的大小, 行高, 字体类型, 间接调整内边距(填充区)水平方向有效,垂直方向仅会影响背景,不会实际占据空间边框水平

2021-08-29 15:56:17 105

原创 CSS基础之盒模型的应用

盒模型的应用文章目录盒模型的应用改变宽高范围改变背景图覆盖范围溢出处理断词规则空白处理改变宽高范围默认情况下,width和height设置的是内容盒的宽高衡量设计稿尺寸的时候,往往使用的是边框盒, 但设置宽高的时候,设置的则是内容盒宽高有两种方式:精确计算, 将边框盒,内容盒的尺寸计算出来,单独设置改变宽高影响的范围box-sizing: border-box;添加该样式后,宽高影响的范围将从默认的内容盒到边框盒改变背景图覆盖范围默认情况下, 背景覆盖边框盒.可以通过bac

2021-08-29 15:33:51 120

原创 CSS基础之盒模型

盒模型文章目录盒模型基础知识盒子的组成部分基础知识box: 盒子, 每个元素在页面中都会生成一个矩形区域(盒子)盒子类型:行盒, 即display等于inline的元素块盒, 即display等于block的元素行盒在页面中不换行,块盒独占一行,display默认值为inline,且不能继承.浏览器默认样式表中设置的块盒: 容器元素, h1~h6, p常见的行盒: span, a,img,video,audio盒子的组成部分无论是行盒还是块盒, 都由以下几部分组成,从内到外分

2021-08-29 15:10:24 107

原创 CSS基础之属性值的计算过程

属性值的计算过程一个元素,从所有属性都没有值,到所有属性都有值,整个计算过程,叫做属性值的计算过程文章目录属性值的计算过程继承属性值的计算过程特殊的两个CSS取值继承子元素会继承父元素的某些CSS属性通常,跟字体内容相关的属性和字体相关的属性都能继承(背景颜色,宽高不能继承)属性值的计算过程一个元素一个元素的渲染,顺序按照页面文档的树形目录结构进行渲染每个元素的前提条件: 该元素的CSS属性必须有值确定声明值: 参考样式表(作者样式表+浏览器样式表)中没有冲突的声明,作为CSS属性值层

2021-08-28 15:48:52 86

5.Vue的生命周期.zip

5.Vue的生命周期.zip

2021-09-17

空空如也

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

TA关注的人

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