前端
小王今天更新了吗
这个作者很懒,什么都没留下…
展开
-
【剑指offer】刷题思路记录
剑指 Offer 09. 用两个栈实现队列用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )思路:栈:只能从尾部进和出,且后进先出队列:头部出,尾部进,先进先出尾部进的方法可以直接实现,用push即可而头部出,则需要把栈里面的元素先全部出栈再全部进栈(此时本来在最前面的元素就变成了最后面)则可以通过pop方法进行删除所以:原创 2021-10-14 11:43:29 · 108 阅读 · 0 评论 -
vue npm install
npm install可以写成npm inpm install *-s / --save 写入dependencies,发布到生产环境-d / --save-dev 写入devDependencies,发布到开发环境-g /global 全局安装(命令行使用)本地安装(将安装包放在./node_modules下 )原创 2021-10-12 09:54:52 · 131 阅读 · 0 评论 -
【刷题】JavaScript V8华为机试
描述数据表记录包含表索引和数值(int范围的正整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。输入描述:先输入键值对的个数然后输入成对的index和value值,以空格隔开输出描述:输出合并后的键值对(多行)题目分析:第一行为键值对个数,第二行以后的为成对的index和value牛客系统上的输入是ACM模式,需要用readline()来获取//获取到了键值对的个数let num=readline();const obj={};fo原创 2021-08-25 10:07:30 · 320 阅读 · 0 评论 -
【总结】同步与异步理解
进程和线程进程:程序的一次执行,它占有一片独立的内存空间线程:CPU的基本调度单位,是程序执行的一个完整流程进程和线程的关系1.一个进程中一般至少有一个运行的线程,称为主线程2.一个进程可以同时运行多个线程,我们成程序为多线程运行的3.一个进程内的数据可以供其中的多个线程直接共享4.多个进程之间的数据是不能直接共享的js是单线程的所谓单线程,是指在js引擎中负责解释和执行js代码线程只有一个,称为主线程但是实际上还存在其他的线程,,例如:处理ajax请求的线程、处理dom事件的线程、定时原创 2021-07-31 21:42:28 · 135 阅读 · 0 评论 -
【ES6新增】Map
MapMap类似于对象,也是键值对的集合,但是"键"不限于字符串,各种类型的值(包括对象)都可以当做键,也就是说Object结构提供了“字符串-值”的对应,Map结构提供了“值-值”的对应可以使用扩展运算符可以使用for…of进行遍历属性和方法:size 返回Map的元素个数set 添加一个新元素,返回当前的Mapget 返回键名对象的键值has 检测Map中是否包含某个元素,返回boolean的值clear 清空集合 返回undefined...原创 2021-07-27 11:54:18 · 104 阅读 · 0 评论 -
【ES6新特性】Promise
1.Promise介绍Promise是ES6引入的异步编程的新解决方案,语法上Promise是一个构造函数,用来封装异步操作并可以获取其成功或失败的结果从语法上讲,promise是一个对象,从它可以获取异步操作的信息,从本意上讲,它是承诺,承诺它过一段时间会给你一个结果。promise有三种状态:pending进行中 fulfiled 已完成 rejected已失败Promise的作用用来解决回调地狱,常常第一个函数的输出是第二个函数的输入这种现象promise可以支持多个并发的请求,获原创 2021-07-26 21:23:36 · 150 阅读 · 0 评论 -
Mac OS搭建HTTP协议
安装相关软件:1. wireshark:著名的网络抓包工具打开wireshark的官网, 进入到下载页面, 传送门: https://www.wireshark.org/download.html点击macOS Intel 64-bit .dmg 开始下载打开下载好的软件包, 将Wireshark.app 拖动到Applications 中并双击Install ChmodBPF.pkg, 只有安装了这个, 才能捕获数据包2. chrome/firefox3. telnet-原创 2021-07-09 11:09:38 · 421 阅读 · 0 评论 -
原型与原型链,继承里面的原型链
1. 函数的原型属性函数的原型prototype属性:每个函数都有一个prototype显式原型属性,它默认指向一个Object对象(原型对象)原型对象中有一个属性constructor,它指向函数对象函数的显式原型指向的对象默认是空Object实例对象(但Object不满足)所有函数都是Function的实例(包括Function),所有函数的__proto__都是一样的Object的原型对象是原型链尽头2. 引用类型的隐式原型属性引用类型,都具有对象属性,即可以自由扩展属性引用类型原创 2021-07-06 17:12:07 · 76 阅读 · 0 评论 -
【JS练习】定时调用
定时调用setInterval(回调函数,间隔时间)var timer=setInterval(fun,1000);清除定时调用clearInterval(定时调用的返回值)clearInterval(timer)计时器:从0~60s刚开始一直没出来结果,发现是在时间间隔里面多写了ms,默认是加了单位的,我们不需要自己写ms<!DOCTYPE html><html> <head> <meta charset="utf-8">.原创 2021-07-06 15:57:51 · 117 阅读 · 0 评论 -
【ES6新增】class类
JavaScript中,生成实例对象的传统方法是通过构造函数,ES6为了更接近传统语言的写法,引入了Class类这个概念,作为对象的模板,通过class关键字,可以定义类定义类的方法时,前面不需要加上function关键字,直接把函数定义放进去就可以了,且方法之间不需要用逗号分隔class Point{ ...}typeof Point //functionPoint===Point.prototype.constructor //true类的数据类型就是函数,类本身就指向构造函数使用的原创 2021-07-06 15:28:27 · 259 阅读 · 0 评论 -
【HTTP】http协议【更新中...
1. http发展史HTTP协议始于三十年前蒂姆·伯纳斯-李的一篇论文;HTTP/0.9是个简单的文本协议,只能获取文本资源;HTTP/1.0确立了大部分现在使用的技术,但它不是正式标准;HTTP/1.1是目前互联网上使用最广泛的协议,功能也非常完善;HTTP/2基于Google的SPDY协议,注重性能改善,但还未普及;HTTP/3基于Google的QUIC协议,是将来的发展方向。2.http是什么?http:超文本传输协议协议:HTTP是一个用在计算机世界里的协议。它使用计算机能够理原创 2021-07-01 20:29:50 · 370 阅读 · 0 评论 -
JS框架之Vue
0. vue简介JavaScript框架简化Dom操作响应式数据驱动1. 第一个vue程序导入开发版本的Vue.js<!-- 开发环境版本,包含了有帮助的命令行警告 html --><script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>创建Vue实例对象,设置el和data属性var app = new Vue({ el: '#app', data: {原创 2021-06-30 20:24:03 · 205 阅读 · 2 评论 -
【AJAX】12. 跨域
12.跨域12.1 同源策略同源策略Same-Origin Policy最早由Netscape公司提出,是浏览器的一种安全策略同源:协议、域名、端口号必须完全相同违背同源策略的就是跨域12.2 如何解决跨域12.2.1 JSONP(1) JSONP(JSON with Padding) 是一个非官方的跨域解决方案,只支持get请求(2) JSONP是怎么工作的?在网页中有一些标签本身就具有跨域能力 eg:img link iframe scriptJSONP就是利用script标签的跨原创 2021-06-30 10:26:48 · 61 阅读 · 0 评论 -
【AJAX】11. 使用fetch函数发送ajax请求
btn.onclick=function(){ fetch('http://192.168.1.106:8000/fetch-server?vip=10',{ // 请求方法 method:'POST', // 请求头 headers:{ name:"cc" }, // 请求体 body原创 2021-06-30 10:25:29 · 67 阅读 · 0 评论 -
【AJAX】10. Axios发送AJAX请求
引入axios库 <!-- <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script> --><script crossorigin='anonymuos' src="https://cdn.bootcdn.net/ajax/libs/axios/0.21.1/axios.js"></script>设置了crossorigin就相当于开启了cors原创 2021-06-30 10:24:51 · 93 阅读 · 0 评论 -
【AJAX】9. jQuery发送AJAX请求
get请求$.get(url,[data],[callback],[type])url:请求的url地址data:请求携带的参数callback:载入成功时回调函数type:设置返回内容模式:xml,html,script,json,text,text_defaultpost请求$.pot(url,[data],[callback],[type])url:请求的url地址data:请求携带的参数callback:载入成功时的回调函数type:设置返回内容模式:xml,html,scri原创 2021-06-30 10:22:51 · 74 阅读 · 0 评论 -
【AJAX】8.ajax取消请求
8.1 取消请求在请求(结果)还没有回来之前,通过手动设置代码来取消请求XMLHttpRequest有一个abort方法,用于主动取消未完成的请求。前端代码:定义两个按钮,一个用于发送请求,一个用于取消请求这里用的是延时发送请求,<script> const btns=document.querySelectorAll('button'); let xhr=null; btns[0].onclick=functio原创 2021-06-30 10:17:57 · 127 阅读 · 0 评论 -
【AJAX】7.ajax请求超时与网络异常处理
如果超过2s页面没有加载出来,就显示超时,如果网络异常就显示网络异常// 针对延时响应app.all('/delay',(request,response)=>{ // 设置响应头 设置运行跨域 response.setHeader('Access-Control-Allow-Origin','*'); // 加定时器 setTimeout(() => { // 设置响应体 response.send('延时响应'); },原创 2021-06-30 10:16:06 · 126 阅读 · 0 评论 -
【AJAX】6. AJAX IE缓存问题
6.AJAX IE缓存问题说明:在对server.js内容发送内容修改之后,比如:从response.send(‘hello ajax-3’);变成response.send(‘hello ajax-4’);chrome可以实时改变显示,但是IE浏览器读取的是缓存数据,显示的还是3解决办法:这里server.js中要变一下接收的为ieapp.get('/ie',(request,response)=>{ // 设置响应头 设置运行跨域 response.setHeade原创 2021-06-30 10:14:21 · 63 阅读 · 0 评论 -
【AJAX】5. nodemon 自动重启工具安装
nodemon自动重新启动应用安装nodemon,在终端中输入:npm install -g nodemon之后运行server.jsnodemon server.js这样在js文件中进行修改之后,它会自动的重新启动服务,在网页上显示出相应变化原创 2021-06-30 10:13:30 · 60 阅读 · 0 评论 -
【AJAX】4. 服务端响应JSON数据
响应数据并对数据进行字符串转换server.js:`app.all('/json-server',(request,response)=>{ // 设置响应头 设置运行跨域 response.setHeader('Access-Control-Allow-Origin','*'); // 响应头 允许输入非预定义的响应头 response.setHeader('Access-Control-Allow-Headers','*'); // 响应一个数据原创 2021-06-30 10:06:58 · 94 阅读 · 0 评论 -
【AJAX】3. AJAX XHR
1.1 AJAX-创建XMLHttpRequest对象XMLHttpRequest是AJAX的基础,用于在后台与服务器交换数据new XMLHttpRequest()const xhr=new XMLHttpRequest();IE5 IE6:const xhr=new ActiveXObject("Microsoft.XMLHTTP");1.2 AJAX-向服务器发送请求如果需要将请求发送到服务器,我们使用XMLHttpRequest对象的open()和send()方法open(metho原创 2021-06-29 20:45:57 · 128 阅读 · 1 评论 -
【AJAX】2. XML与HTML的区别
XMLXML指可扩展标记语言(EXtensible Markup Language)被设计用来传输和存储数据,XML标签没有被预定义,需要自行定义标签。XML与HTML的区别:XMLHTMLEXtensible Markup LanguageHyperText Markup Language可扩展标记语言超文本标记语言传输和存储数据显示数据无预定义,需自定义标签预定义标签严格区分大小写不区分大小写严格的树状结构,不可省略结束标记存在单标签原创 2021-06-29 20:44:38 · 52 阅读 · 0 评论 -
【AJAX】1. AJAX简介
AJAX概念:Asynchronous JavaScript And XML 异步的JavaScript和XML异步和同步:是在客户端和服务器相互通信的基础上异步:客户端必须等待服务器端的响应,在等待的期间客户端不能做其他的操作。同步:客户端不需要等待服务器端的响应,在服务器处理请求的过程中,客户端可以进行其他的操作AJAX作用:AJAX是一种用于创建快速动态网页的技术,通过在后台与服务器进行少量数据交换,AJAX可以实现网页的异步更新,这意味着可以在不重新加载整个网页的情况下,对网页的部分地原创 2021-06-29 20:42:47 · 54 阅读 · 0 评论 -
【软件安装】Mac下VScode的安装和使用+express框架安装
1.下载安装包https://code.visualstudio.com/直接去VScode官网找到对应版本下载即可我看官网下载太慢了 就复制了下载链接去迅雷下 亲测很快2.安装CSvodemac版本下载之后是一个压缩包 解压之后直接就是app 可以把app移动到应用程序即可3.常见插件安装点击扩展:3.1 汉化包搜索:chinese 就会出现 选择中文简体 即可 安装完需要重新启动程序才会生效3.2 语言包我用的是JavaScript 直接搜索安装即可3.3 Auto C原创 2021-06-22 16:39:44 · 1791 阅读 · 0 评论 -
【HTML5复习】HTML5标签
HTML5中的新特性包括了嵌入音频、视频和图形的功能,客户端数据存储以及交互式文档HTML5还包含了新的元素,比如 nav header footer figure 等等HTML标签总结:标签描述翻译 2021-06-17 20:58:41 · 203 阅读 · 0 评论 -
【错题】HTML
<dir></dir> HTML 5 中不支持。定义目录列表。<dl></dl> 定义定义列表<dl> <!-- 定义一个定义列表 --> <dt>Coffee</dt> <!-- 列表中的项目 --> <dd>black hot drink</dd> <!-- 描述列表中的项目 --> <dt>Milk</dt>原创 2021-06-16 21:29:43 · 56 阅读 · 0 评论 -
【JS练习】拖拽
鼠标按下事件:onmousedown鼠标移动事件:onmousemove鼠标松开事件:onmouseup一个盒子,可以根据鼠标的拖拽进行移动1.鼠标按下时开始拖拽该事件绑定给box012.鼠标移动时,被拖拽元素跟着鼠标一起移动该事件绑定给document鼠标移动,被拖拽元素也跟着移动,根据鼠标的坐标改变被拖拽元素的坐标可以实现该功能event.clientX 鼠标当前的x值event.clientY 鼠标当前的y值把这两个值分别给盒子的左边距和上边距即可3.鼠标松开时,取消拖原创 2021-05-11 20:03:01 · 230 阅读 · 0 评论 -
【CSS复习】布局模型
一、CSS布局模型1.流动模型 flow所有元素在默认情况下都是在文档流中存在的文档流是网页的最底层元素在文档流中的特点:块元素:默认宽度是父元素的全部默认高度被内容(子元素)撑开在网页中自上而下垂直排列内联元素:默认高度和宽度都被内容撑开在页面中自左向右排列,如果一行不足以容下所有的元素,则换到下一行继续从左向右2.浮动模型 float可以使用float来设置元素的浮动可选值:none:默认值,元素不浮动,就在文档流中left:元素向页面的左侧浮动right原创 2021-05-10 21:20:20 · 145 阅读 · 0 评论 -
【HTML5复习】表单
表单:用于搜集不同类型的用户输入表单元素:不同类型的input元素、复选框、单选按钮、提交按钮等<form> <input type=" " name="名称" value="设置默认值"></form>input元素:是最重要的表单元素,有很多形态,有不同的type属性type描述补充text文本输入框定义单行输入字段,用户可以在其中输入文本,默认是20个字符password密码输入框字段中的字符会被遮蔽num原创 2021-04-27 14:40:48 · 104 阅读 · 0 评论 -
【JS练习】上下翻图片
html如何修改图片尺寸1)在HTML标签内更改宽度和高度,代码如“img src="…" width="…" height="…">”;alt:图像无法显示时的替代文本<img src="img/2.jpg" width="240" height="300" alt="aaa" ></img> 2)使用CSS样式控制width和height属性img{ width="240"; height="300";}重置浏览器默认格式:* { margin:原创 2021-04-20 17:14:55 · 110 阅读 · 0 评论 -
Mac系统下的快捷键
command+Y 恢复撤销command+Z 撤销command+K 重排代码格式command+O 打开文件原创 2021-04-01 21:55:29 · 237 阅读 · 6 评论 -
【JS练习】输出质数
题目一:在页面中接收一个用户输入的数字,并判断是否是质数质数:只能被1和它自身整除的数,1不是质数也不是合数,质数必须是大于1的自然数prompt()方法用于显示可提示用户进行输入的对话框如果用户单击提示框的取消按钮,则返回null。如果用户单击确认按钮,则返回输入字段当前显示的文本。因为质数:只能被1和它自身整除所以i一旦存在一个数j(非1和它本身)可以整除,则说明它不是质数。 <!DOCTYPE html><html> <head> <m原创 2021-03-30 16:05:29 · 626 阅读 · 0 评论 -
win7系统下sublime Text3的安装
系统:win71.安装sublime text3直接百度搜索 sublime text3 download:网址是:http://www.sublimetext.com/3下载对应的版本进行安装2.Sublime text3 手动安装Package Control2.1 下载Package Control包网址是https://github.com/AINY-LJW/package_controldownload zip即可2.2 找到Sublime text3的安装路径*\Sublim原创 2021-01-22 11:23:10 · 388 阅读 · 0 评论