4 w_cyj

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 12w+

HTTP请求方法

HTTP请求方法HTTP请求由三部分构成请求行首部实体请求行请求行基本由请求方法、URL、协议版本组成GETGET方法请求一个指定资源的表示形式,使用GET请求应该只被用于获取数据多用于搜索关键字等无副作用,幂等的场景HEADHEAD方法请求一个与GET请求的响应相同的响应,但没有响应体POSTPOST方法用于将实体提交到指定资源,通常导致在服务器上的状态变化或副作用副作用指对服务器上的资源做改变,搜索是无副作用的,注册是副作用的POST多用于注册等存在副作用,

2020-10-30 11:20:54

路由原理 hash/history

路由原理 hash/history本质是监听URL的变化,然后匹配路由规则,显示相应的页面,并且无需刷新页面,目前只有两种实现方式Hash 模式History 模式Hash 模式www.test.com/#/ 就是 Hash URL,当 # 后面的哈希值发生变化时,可以通过hashchange事件监听到url的变化,从而进行页面跳转,并且无论哈希值如何变化,服务端接收道德url请求永远是www.test.com。window.addEventListener('hashchange

2020-10-26 08:48:26

react.js

一、create-react-app全局安装create-react-app$ npm install -g create-react-app创建一个项目$ create-react-app your-app 注意命名方式Creating a new React app in /dir/your-app.Installing packages. This might take a couple of minutes. 安装过程较慢,Installing react, react-dom,

2020-10-25 17:30:03

性能优化

性能优化图片加载优化不用图片。很多时候会使用到很多修饰类图片,其实这类修饰图片完全可以用 CSS 去代替。对于移动端来说,屏幕宽度就那么点,完全没有必要去加载原图浪费带宽。一般图片都用 CDN 加载,可以计算出适配屏幕的宽度,然后去请求相应裁剪好的图片。小图使用 base64 格式将多个图标文件整合到一张图片中(雪碧图)选择正确的图片格式:对于能够显示 WebP 格式的浏览器尽量使用 WebP 格式。因为 WebP 格式具有更好的图像数据压缩算法,能带来更小的图片体积,而且拥有肉眼识别无差

2020-10-22 08:36:52

安全防范知识点

XSS什么是 XSS 攻击?XSS 简单点来说,就是攻击者想尽一切办法将可以执行的代码注入到网页中XSS 可以分为多种类型,但是总体上我认为分为两类:持久型和非持久型持久型:攻击的代码被服务端写入进数据库中,这种攻击危害性很大,因为如果网站访问量很大的话,就会导致大量正常访问页面的用户都受到攻击。非持久型:一般通过修改 URL 参数的方式加入攻击代码,诱导用户访问链接从而进行攻击。如何防范 XSS 攻击?转义字符:转义输入输出的内容,对于引号、尖括号、斜杠进行转义func

2020-10-21 15:52:05

浏览器渲染机制

浏览器渲染机制为什么操作DOM慢DOM属于渲染引擎中的东西,JS又是JS引擎中的东西,当我们通过JS操作DOM的时候,涉及到了两个线程之间的通信,会带来性能上的损耗操作DOM次数多,等同于一直进行线程之间的通信,操作DOM可能会带来重绘回流的情况,导致性能上的问题解决方法虚拟滚动(virtualized scroller)原理:只渲染可视区内容,非可视区域完全不渲染,当用户在滚动的时候就实时去替换渲染的内容什么情况阻塞渲染渲染的嵌套是生成渲染树,所以 HTML 和 CSS 肯

2020-10-21 15:51:32

浏览器缓存机制

浏览器缓存机制数据请求步骤:网络请求后端处理浏览器响应浏览器缓存可以帮助我们在第一和第三步骤中优化性能。比如说直接使用缓存而不发起请求,或者发起了请求但后端存储的数据和前端一致,那么就没有必要再将数据回传回来,这样就减少了响应数据。浏览器缓存机制缓存位置缓存策略实际场景英语缓存策略缓存位置Service WorkerMemory CacheDisk CachePush Cache网络请求Service WorkerService Worker 是

2020-10-21 15:51:00

gulp

gulpgitee 最多四个人gitlab 公司仓库github 服务端remote 远程仓库workspace 工作区respository 本地仓库index/stage 索引区 暂存区常用命令git status 查询repo的状态.git init 初始化 在本地创建一个仓库git config --global alias.st status 把status改为st //简写命令git add. //会递归地添加当前工作目

2020-09-22 19:40:42

生命周期钩子

生命周期钩子beforeCreate在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。应用场景:可以用来初始化变量,这个变量不具有响应式,可以读取this,挂载静态变量created在实例创建完成后被立即调用在这一步,实例已完成以下的配置:数据观测 (data observer),property 和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,$el property 目前尚不可用。应用

2020-09-19 14:45:53

vue入门

什么是vue一套用于构建用户界面的渐进式框架Vue 被设计为可以自底向上逐层应用Vue的核心只关心视图层直接在浏览器打开:npx http servernpm i browser-sync 下载brower-sync start -s -f */ --directory -w 监听brower-sync(npm,yarn):是node.js 的一个模块引入vue.js直接在官网下载js文件,然后引入<!-- 开发环境版本,包含了有帮助的命令行

2020-09-19 14:31:41

JS面试题4

JS面试题4var const let什么是变量提升(host)var变量提升:变量还为声明,我们就可以使用这个未声明的变量,这种情况就叫做变量提升console.log(a) // undefinedvar a = 1等同于var aconsole.log(a) // undefineda=1函数也会被提升console.log(a) // ƒ a() {}function a() {}var a = 1函数提升优于变量提升,函数提升会把整个函数

2020-09-19 09:14:24

Vue的插槽,组件,边界情况,自定义指令,渲染函数,插件,过滤器

0918复习组件注册全局组件:用vue.component 必须有templete全局注册的行为必须在根 Vue 实例 (通过 new Vue) 创建之前发生组件命名:局部组件:定义组件名,给一个对象自变量。放的组件定义的optionoptions关于选项、数据开头的yarn init在script写脚本[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9SwD7seV-1600438178067)(C:\Users\admin\App

2020-09-18 22:11:29

JS面试题3

列举一下常见的关系型数据库和非关系型数据库?关系型数据库:Oracle、MySQL、DB2、SQL Server非关系型数据库:MongoDB、NoSql两者的区别有哪些?关系型数据库只支持基础类型存储;非关系型存储格式可以是key,value形式、文档形式、图片形式等,使用灵活,应用场景广泛存储载体不同:关系型数据库存储载体只能使用硬盘;非关系型数据库可以使用硬盘或者随机存储器作为载体关系型数据库支持SQL语句,可用于复杂的查询;非关系型数据库不支持SQL语句非关系型数据库基于键值对存储

2020-09-18 19:25:47

MVC,MVP,MVVM

MVC,MVP,MVVMMVCview 视图 :用户界面Controller 控制器:业务逻辑Model 模型 :数据保存所有的通信都是单向的view传送指令到ControllerCotroller完成业务逻辑后,要求Model改变状态Model将新的数据发送到View,用户得到反馈互动模式接受用户指令时,MVC可以分为两种,一种是通过view接受指令,传递给Controller另一种是直接通过controller接受指令

2020-09-18 17:21:29

JS面试题2

return,break,continuebreak用于完全结束一个循环,跳出循环体。不管是哪种循环,一旦在循环体中遇到break,系统将完全结束循环,开始执行循环之后的代码。 break不仅可以结束其所在的循环,还可结束其外层循环。continue的功能和break有点类似,区别是continue只是中止本次循环,接着开始下一次循环。而break则是完全中止循环。return关键字并不是专门用于跳出循环的,return的功能是结束一个方法。 一旦在循环体内执行到一个return语句,retur..

2020-09-14 09:12:37

JS面试题

apply和call方法的异同相同点:两个方法产生的作用是完全—样的,都是改变this指向,第—个参数都是对象不同点:call()方法参数将依次传递给借用的方法作参数,即fn.call(thisobj, arg1,arg2,arg3…argn),有n个参数apply()方法第—个参数是对象,第二个参数是数组fn.apply(thisobj,arg),此处的arg是—个数组,只有两个参数2.懒加载原理和应用概念:对于页面有很多静态资源的情况下(比如网商购物页面),为了节省用户流量.

2020-09-06 16:24:53

Ajax的封装

Ajax的封装设计模式: 为了解决特定问题而给出的简洁优化的解决方案懒惰模式: 多种方案选择一种的方式例子: 创建 ajax 对象四种方式封装的时候要判断再找个页面你创建两次的时候第一次要跑断到第四个第二次还是要判断到第四个懒惰模式, 第一次的时候, 判断到第四个, 从第二次开始, 不再进行判断封装ajax对象封装一个函数,创建xhr对象不需要参数返回值就是一个可以在浏览器使用的xhr对象封装过程把每一种创建方式写成一个函数一次去调用这个函数如果

2020-09-06 15:15:21

ajax补充

0905ajax前后端交互的一种的手段通过JS向服务端发起请求所有服务端返回的响应都不会直接显示在页面上而是返回给js这个语言说明:JS和服务端交互依赖于浏览器来发送请求ajaxasync 异步javascriptandxml:更严格的html格式使用方法找到一个对象能帮我发送ajax请求XMLHttpRequest()内置构造函数专门创建实例化对象帮你发送ajax请求对本次请求进行一些配置open()的方法语法:xhr.ope

2020-09-06 14:21:09

js基础 --数据类型

js基础 --数据类型分成了两个大的类型基本数据类型(简单数据类型)Number 数值String 字符串Boolean 布尔Undefined 空null 空复杂数据类型(地址数据类型 / 引用数据类型)ObjectFunctionNumber 数值一切十进制表示的数字一切浮点数(小数)其他进制表示的数字十六进制, 以 0x 开头八进制, 以 0 开头二进制, 以 0b 开头科学计数法比较大的数字使用科学计数法表示2e5 2 * 10

2020-09-05 10:53:13

JS基础 --命名规则和规范

命名规则和规范规则: 你必须遵守, 不然报错一个变量只能由 数字(0-9), 字母(a-zA-Z), 美元符($), 划线下(_) 组成一个变量不能由 数字 开头在JS 中严格区分大小写num Num NUm NUM 这是四个变量不能使用关键字或者保留字关键字: 现在 JS 语法正在使用的关键字(var)保留字: 现在 JS 还没用, 但是将来可能会用的规范: 建议你遵守, 因为大家都这样不要用中文命名变量语义化尽可能使用一个有意义的单词驼峰命名法当一个

2020-09-05 10:41:17

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。