JS
文章平均质量分 69
JavaScript相关内容
甜甜酷盖
小白一个
展开
-
JS的执行上下文,变量声明提升,函数声明提升
一句话:执行上下文就是当前JS代码被解析和执行时存在的环境。(ECMAScript中定义的抽象概念),变量声明提升,函数声明提升原创 2022-09-20 16:34:29 · 491 阅读 · 0 评论 -
原型和原型链
原型和原型链,隐式原型,显式原型,原型的习题,基于对象,javaScript,prototype,_proto_原创 2022-09-19 12:10:09 · 304 阅读 · 0 评论 -
闭包的定义,原理,应用场景,优点,缺点
闭包的定义,原理,应用场景,优缺点,作用域链,变量提升原创 2022-09-18 19:27:23 · 1980 阅读 · 0 评论 -
HTTP缓存——强制缓存和协商缓存
目录为什么需要缓存?什么是缓存?缓存的原理:缓存的分类强制缓存Expires**expires的不足:**cache-Controlcache-control的属性协商缓存Last-Modified和If-Modified-Since**Last-Modified的不足**:ETag和If-None-Match**ETag的不足:**缓存决策树为什么需要缓存?在任何一个前端项目中,访问服务器获取数据都是很常见的事情,但是如果相同的数据被重复请求了不止一次,那么多余的请求次数必然会浪费网络带宽,以及延迟浏原创 2022-05-19 18:22:12 · 2506 阅读 · 2 评论 -
JS fetch()用法详解
目录了解fetch没有fetch时我们获取异步资源的方式:使用fetch后我们获取异步资源的方式fetch的语法fetch的Response对象1.同步属性2.判断请求是否成功发出3.操作标头4.读取Response对象内容的方法5.创建副本(clone)6.底层接口定制HTTP请求取消fetch请求了解fetch- Fetch API 提供了一个获取资源的接口(包括跨域请求),用于取代传统的XMLHttpRequest的,在 JavaScript 脚本里面发出 HTTP 请求。- 目前还没有被所有原创 2022-05-11 11:28:49 · 42827 阅读 · 1 评论 -
JS XMLHttpRequest对象详解
概念创建XMLHttpRequest对象建立连接发送get请求发送post请求异步响应状态readyState终止请求abort()获取XML数据获取和设置头部信息概念XMLHttpRequest对象,顾名思义:是基于XML的HTTP请求,是一个浏览器接口,XMLHttpRequest 用于在后台与服务器交换数据。我们通过XMLHttpRequest 可以在不刷新页面的情况下请求特定 URL获取数据。创建XMLHttpRequest对象var xhr = new XMLHttpRequest().原创 2022-05-09 17:21:36 · 8649 阅读 · 0 评论 -
Ajax,Fetch,Axios,XMLHttpRequest 对象是什么?XMLHttpRequest、fetch、axios,Ajax之间的关系
概念一、Ajax是什么?二、Fetch是什么?三、Axios是什么?四、什么是 XMLHttpRequest 对象?四者之间的关系概念一、Ajax是什么?英文全称为 Asynchronous JavaScript + XML ,翻译过来就是异步JavaScript和XML(被设计用来传输和存储数据)。Ajax是一种技术方案,但并不是一种新技术。它是用来描述一种使用现有技术集合的“新”方法的,这里的“新”方法主要涉及到: HTML 或 XHTML、CSS、 JavaScript、DOM、XML、X.原创 2022-05-09 16:04:07 · 337 阅读 · 0 评论 -
前端解决跨域问题的常见方法及优缺点对比
解决跨域问题的方案一、什么是跨域?什么是同源策略?二、常见的跨域场景三、跨域问题常见解决方案1.JSONP跨域(一)原理(二)示例前端代码:后端代码:(三)JSONP的优缺点2. 跨域资源共享(CORS)(一)什么是CORS(二)简单请求和非简单请求简单请求CORS请求设置的响应头字段,都以 Access-Control-开头非简单请求预检请求预检请求的回应(三)示例前端代码:后端代码:(四)CORS的优缺点3.nodejs中间件代理跨域(一)原理(二)示例前端代码:中间件服务器代码:(三)nodejs中间原创 2022-05-09 11:44:09 · 1422 阅读 · 0 评论 -
Node基础——express接口获取request参数的三种方式
express接口获取request参数的三种方式一、req.query()二、req.params()三、req.body()一、req.query()req.query()可以用来获取接口请求中拼接在链接"?"后边的参数,主要用于get请求,post请求也适用。req.query()被express原生支持,并且会自动将参数转换为对象形式返回。例如:请求:app.get('http://localhost:5050/server?p=user&q=password').then(re原创 2022-04-26 22:29:34 · 4016 阅读 · 0 评论 -
URI和URL的区别与联系
解析URI和URL之间的区别与联系一、URI1.什么是URI2.URI的组成二、URL1.什么是URL2.URL的组成三、URI和URL之间的区别。四、通俗理解一、URI1.什么是URIURI:统一资源标识符,表示Web上每一种可用的资源,如HTML文档,图像,视频片段,程序等都是由一个URI进行标识的。2.URI的组成通常由三部分组成:(1) 资源的命名机制;(2)存放资源的主机名;(3)资源自身的名称。注:以上三点是对实例的解释,并不是URI的必要条件,URI只是一种概念,怎样实现无所原创 2022-04-26 17:05:02 · 25835 阅读 · 3 评论 -
JS——设计模式
设计模式一、什么是设计模式?二、常用的设计模式有哪些?有缺点是什么?1.单例模式2.装饰模式3.观察者模式一、什么是设计模式?设计模式是针对软件开发中经常遇到的一些设计问题,根据基本的设计原则,总结出来的一套实用的解决方案或者设计思路。二、常用的设计模式有哪些?有缺点是什么?经典的设计模式有 23 种。随着编程语言的演进,一些设计模式(比如 Singleton)也随之过时,甚至成了反模式,一些则被内置在编程语言中(比如 Iterator),另外还有一些新的模式诞生(比如 Monostate)创建型原创 2022-04-13 17:55:09 · 214 阅读 · 0 评论 -
JS——判断变量类型方法汇总
判断变量类型一、使用typeof判断变量类型二、使用instanceof判断变量的类型三、使用constructor判断变量的类型四、使用Object.prototype.toString.call判断变量的类型五、使用jquery中$.type判断变量的类型。六、总结在JS中,有 5 种基本数据类型和 1 种复杂数据类型.基本数据类型有:Undefined, Null, Boolean, Number和String;复杂数据类型是Object,Object中还细分了很多具体的类型,比如:Array,原创 2022-04-12 20:22:36 · 3103 阅读 · 0 评论 -
JS——选择排序算法
选择排序实现过程选择排序在未排序序列中找到最小(大)元素,存放到排序序列的起始位置从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。重复第二步,直到所有元素均排序完毕。实现过程function selectionSort(arr) { var len = arr.length; var minIndex, temp; for (var i = 0; i < len - 1; i++) { minIndex = i; .原创 2022-03-11 22:48:07 · 1293 阅读 · 0 评论 -
JS——冒泡排序
冒泡排序实现过程冒泡排序冒泡排序是一种非常基础的排序方法,其原理就是把一个数组中的每一个数从前往后依次进行比较,然后根据大小交换位置,每一轮的比较都确定出一个当轮比较的最大值,最终实现数组的大小排序。从下到大排序下面我们用JS实现冒泡排序。实现过程举例:假设数组有n个数,需要n轮,而每一轮中比较的次数都要减去已经确定的数值,即第i轮需要比较的次数为n-i,可以用一个嵌套for循环来实现。为了看清楚整个排序的过程,我们将每一次排序的结果输出到控制台,代码如下:var arr = [4,23,10.原创 2022-03-11 22:36:55 · 20367 阅读 · 3 评论 -
JS——递归函数
概念递归函数就是一个函数通过名字自我调用。递归函数必须要有的两个要素:结束关系递推关系特点每一级函数调用时都有自己的变量,但是函数代码并不会得到复制;每次调用都会有一次返回;递归函数中,位于递归调用前的语句和各级被调用函数具有相同的执行顺序;递归函数中,位于递归调用后的语句的执行顺序和各个被调用函数的顺序相反;递归函数中必须有终止语句。举例实现阶乘:var a=function f(num){ if(num===1){ return 1; }else{ retu原创 2022-03-11 22:21:50 · 1071 阅读 · 0 评论 -
JS——DOM事件流(冒泡,捕捉,目标)、阻止事件冒泡 、事件委托
DOM事件事件流阻止事件冒泡事件委托DOM事件简单来说,事件就是定义了一些Javascript函数,使他们能够响应页面元素发生的变化。比如用户在元素上方点击了鼠标按钮click事件,用户把鼠标移动到了元素上方mouseover事件。事件流一个事件的生命周期有三个阶段:捕捉,目标,冒泡。1.捕捉阶段(大到小)当某个事件被触发时,浏览器会找到涉及的元素。涉及的元素称为目标。浏览器会找到body元素和目标之间所有元素并分别检查它们,看其有没有事件绑定。浏览器会先触发外层事件处理器,最后才会轮到目标处.原创 2022-03-11 13:59:00 · 1060 阅读 · 0 评论 -
JS——闭包
闭包的概念闭包的作用形成闭包的条件举例注意闭包的应用闭包的优点闭包的缺点闭包的概念指有权访问另一个函数作用域中的变量的函数,一般情况就是在一个函数中包含另一个函数。闭包的作用1.使函数内部的变量,在函数执行完成后,仍然存活在内存中(延长了局部变量的生命周期)2.让函数外部可以操作到函数内部的数据。形成闭包的条件1.函数嵌套2.引用变量举例var n=999; function f1(){ alert(n); } f1(); function f2(){ var b=99.原创 2022-03-11 10:26:41 · 98 阅读 · 0 评论 -
JS——剩余参数和arguments对象
剩余参数如果函数的最后一个命名参数以…为前缀,则它将成为一个由剩余参数组成的真数组。剩余参数语法允许我们将一个不定数量的参数表示为一个数组。语法function(a, b, ...theArgs) { // ...}在上面的例子中,theArgs将收集该函数的第三个参数(因为第一个参数被映射到a,而第二个参数映射到b)和所有后续参数。举例function fn1(a,...res){ console.log(a); console.log(res)原创 2022-03-10 16:14:18 · 337 阅读 · 0 评论 -
JS——正则表达式(超详细)
正则表达式概念创建正则表达式正则表达式常用方法test()修饰符g:global全文搜索i:ignore case 忽略大小写m:multiple lines 多行搜索其他标志符二级目录三级目录概念正则表达式是用于匹配字符串中字符组合的模式。在 JavaScript中,正则表达式也是对象。这些模式被用于 RegExp 的 exec 和 test 方法, 以及 String 的 match、matchAll、replace、search 和 split 方法。创建正则表达式两种方法:字面量方式、构造函原创 2022-03-10 15:31:25 · 22648 阅读 · 8 评论 -
JS——offset&client&screen&page&scroll
offset相关offset和style的区别client相关screen相关page相关scroll相关offset相关offset的含义是偏移量,使用offset的相关属性可以动态地获取该元素的位置、大小等返回值都不带单位offsetX,offsetY:鼠标相对于”触发事件的元素“的位置。offsetWidth,offsetheight:padding+border+contentoffset和style的区别style获取的值都是字符串都带单位,stylewidth,stylehei.原创 2022-02-20 20:29:45 · 241 阅读 · 0 评论 -
JS——内置对象String篇
String:全局对象是一个用于字符串或一个字符序列的构造函数。以下列举几个String对象常用的属性和方法。属性:length 属性表示一个字符串的长度。let string="hello"document.write(string.length)//返回5方法:charAt() 方法从一个字符串中返回指定的字符。括号里填写字符的索引let string="hello"document.write(string.charAt(2))//返回lconcat() 方法将一个或原创 2022-02-20 14:04:30 · 486 阅读 · 0 评论 -
JS——内置对象Date()篇
Date:创建一个 JavaScript Date 实例,该实例呈现时间中的某个时刻。以下列举几个Date对象的常用方法:本文演示代码结果以当前时间为准,当前时间是Sun Feb 20 2022 11:47:02 GMT+0800 (中国标准时间)获取当前时间let date =new Date();document.write(date);//Sun Feb 20 2022 11:47:02 GMT+0800 (中国标准时间)获取指定时间let date=new Date(2000原创 2022-02-20 12:11:51 · 460 阅读 · 0 评论 -
JS——内置对象Math()篇
Math 是一个内置对象,它拥有一些数学常数属性和数学函数方法。Math 不是一个函数对象。Math 用于 Number 类型。它不支持 BigInt(表示大于 2^53 - 1 的整数)。Math()对象的方法全部都是静态方法以下介绍几个Math对象常用属性和方法:调用圆周率 document.write(Math.PI)//3.141592653589793abs()求一个数的绝对值 document.write(Math.abs(-90))//90max()求若干数的最原创 2022-02-20 11:33:01 · 445 阅读 · 0 评论 -
JS——Map对象 Set对象
Map(key,value)Map 对象是存储键值对的集合,并且能够记住键的原始插入顺序。具有极快的查找速度。创建第一种:创建的时候进行初始化let map = new Map([ [1, 'one'], [2, 'two'], [3, 'three'],]);第二种:创建空的Map,然后添加元素let map=new Map() map.set(1,'one') map.set(2,'two') map.set(3,'th原创 2022-02-15 19:09:00 · 3269 阅读 · 0 评论 -
JS——循环语句
文章目录循环语句的基本语法:for循环while循环do while循环break和continue循环语句的基本语法:设定循环变量的初始值判断进入循环的条件循环体步长for循环 for(语句1,语句2,语句3){ 代码块 } 语句1:初始化表达式语句2:条件表达式语句3:更新表达式举例:求1~100之间所有数的和 var sum=0; for(var i=1;i<=100;i++){ sum+=i; }原创 2022-01-21 19:06:04 · 1527 阅读 · 0 评论 -
JS——注册事件及解绑事件
这里写目录标题概念1. 传统方式(on~)注册事件解绑事件2. 事件监听注册方式 addEventListener()注册事件解绑事件3.两种方式的区别传统方式事件监听注册方式概念给元素添加事件,称为注册事件或绑定事件。给元素移除事件,称为解绑事件。1. 传统方式(on~)注册事件以on开头的事件:onclick(鼠标单击),onmousemove(鼠标移动)等等语法:target.onclick=function(){};举例:给button注册事件,使按下打印数字1<but原创 2022-02-13 18:29:44 · 1251 阅读 · 0 评论 -
JS——BOM概述、window常见事件、定时器、JS执行机制
BOM概述概念DOM和BOM的区别BOM构成补充window对象onload事件onresize事件定时器setTimeout()和clearTimeout()setInterval()和clearInterval()JS执行机制概述同步任务和异步任务具体执行过程BOM概述概念BOM:浏览器对象模型,提供了独立于内容而与浏览器窗口进行交互的对象,核心对象是window。DOM和BOM的区别DOM:文档对象模型,一个文档就是一个DOM树。html是树的根,标签、标签的属性、标签里的文本都是书的节.原创 2022-02-17 00:32:00 · 506 阅读 · 2 评论 -
JS——分支语句
文章目录if语句if分支语句中条件表达式的类型if分支语句的类型if语句的嵌套switch语句分支结构:根据条件来选择执行某段代码了解:程序中常见的程序结构为顺序结构,自上而下执行每一行代码。排在前面的语句先执行,排在后面的语句后执行。分支语句通过条件控制代码行选择性执行。if语句通过判断布尔值来实现分支控制。if语句是十分常用的分支语句,一组代码块由一个控制表达式和一个方法执行体组成。if分支语句中条件表达式的类型数值类型字符串类型数组null,false,undefined原创 2022-01-21 18:23:57 · 700 阅读 · 0 评论 -
JS——mouseover和mouseenter的区别
区别举例补充区别mouseover:鼠标移入事件所绑定的元素或其子元素时,都会触发该事件。(具有冒泡特性)mouseenter:只有鼠标移入事件所绑定的元素时,才会触发该事件。(不具有冒泡特性)举例mouseover:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content.原创 2022-02-15 14:08:46 · 1866 阅读 · 0 评论 -
JS基础知识
文章目录JS简介JS的组成部分JS的基本特点JS的特性JS与HTML、CSS的对比JS引入方式JS基本语法JS中的变量数据类型引用数据类型JS的数据类型转换typeof 操作符JS代码在执行时分两个阶段加var的变量和没有加var的变量的区别初步了解执行上下文( 给代码提供数据)初步了解函数声名变量和常量JS简介JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的 高级编程语言 。虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,Java原创 2022-01-20 02:35:01 · 138 阅读 · 0 评论 -
JS——实现拖拽效果
思路代码思路鼠标在盒子上按下时,准备移动(事件加给物体)鼠标移动时,盒子跟随鼠标移动(事件添加给页面)鼠标抬起时,盒子停止移动(事件加给页面)代码<style> div{ height: 80px; width: 80px; background-color: darksalmon; margin: auto; position: absolute; }</style>.原创 2022-02-15 15:05:07 · 449 阅读 · 0 评论