自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 OSI七层模型和TCP三次握手、四次挥手

osi七层模型:TCP协议头部的格式Source Port和DestinationPort:分别占用16位,表示源端口号和目的端口号;用于区别主机中的不同进程,而IP地址是用来区分不同的主机的,源端口号和目的端口号配合上IP首部中的源IP地址和目的IP地址就能唯一的确定一个TCP连接;Sequence Number:用来标识从TCP发端向TCP收端发送的数据字节流,它表示在这个报文段中的的第一个数据字节在数据流中的序号;主要用来解决网络报乱序的问题;Acknowledgment Number:3

2020-11-26 11:36:30 197

原创 dom元素都会有offsetParent吗

offsetParent属性返回一个对象的引用,这个对象是距离调用offsetParent的元素最近的(在包含层次中最靠近的),并且是已进行过CSS定位的容器元素。 如果这个容器元素未进行CSS定位, 则offsetParent属性的取值为根元素(在标准兼容模式下为html元素;在怪异呈现模式下为body元素)的引用。 当容器元素的style.display 被设置为 "none"时(译注:IE和Opera除外),offsetParent属性 返回 null。...

2020-11-16 17:07:25 131

原创 react和vue比较来说有什么区别

1 component层面,web component和virtual dom2 数据绑定(vue双向,react的单向)等好多3 计算属性 vue 有,提供方便;而 react 不行4 vue 可以 watch 一个数据项;而 react 不行5 vue 由于提供的 direct 特别是预置的 directive 因为场景场景开发更容易;react 没有6 生命周期函数名太长 directive...

2020-11-16 17:06:36 128

原创 什么是虚拟dom

**React为啥这么大?因为它实现了一个虚拟DOM(Virtual DOM)。虚拟DOM是干什么的?这就要从浏览器本身讲起如我们所知,在浏览器渲染网页的过程中,加载到HTML文档后,会将文档解析并构建DOM树,然后将其与解析CSS生成的CSSOM树一起结合产生爱的结晶——RenderObject树,然后将RenderObject树渲染成页面(当然中间可能会有一些优化,比如RenderLayer树)。这些过程都存在与渲染引擎之中,渲染引擎在浏览器中是于JavaScript引擎(JavaScriptCore

2020-11-16 17:05:55 151

原创 什么是FOUC?你如何来避免FOUC?

由于css引入使用了@import 或者存在多个style标签以及css文件在页面底部引入使得css文件加载在html之后导致页面闪烁、花屏用link加载css文件,放在head标签里面

2020-11-16 17:03:53 206

原创 用js计算1-10000中出现的0 的次数

new Array(10000).fill('').map((_, index) => index + 1).filter(item => /0/.test(item)).reduce((count, item) => { return count + (String(item).match(/0/g) || []).length}, 0)

2020-11-16 17:01:33 272

原创 js 实现一个函数 获得url参数的值

function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; }

2020-11-16 17:00:55 249

原创 js 实现一个函数对javascript中json 对象进行克隆

var oldObject ="sdf"; var newObject = JSON.parse(JSON.stringify(oldObject)); console.log(newObject);

2020-11-16 16:59:49 377

原创 浏览器的滚动距离

浏览器的滚动距离:scrollTop=document.documentElement.scrollTop||document.body.scrollTop

2020-11-16 16:59:07 227

原创 写一个获取非行间样式的函数

function getStyle(obj,attr) {if(obj.currentStyle) {return obj.currentStyle[attr];}else{getComputedStyle(obi,false)[attr] }}

2020-11-16 16:57:52 168

原创 JavaScript 中 this的典型应用

(1)、在html元素事件属性中使用,如:<input type=”button” οnclick=”showInfo(this);” value=”点击一下”/>`(2)、构造函数function Animal(name, color) {  this.name = name;  this.color = color;}(3)、input点击,获取值<input type="button" id="text" value="点击一下" /><script

2020-11-06 14:35:47 167

原创 将一个URL的search部分参数与值转换成一个json对象

function getRequest(){ var url=location.search; var jsonList={}; if(url.indexOf("?")!=-1){ var str=url.slice(url.indexOf("?")+1); var strs=str.split("&"); for(var i=0;i<strs.length;i++) { jsonList[strs[i].split("=")[0]]=strs[i]....

2020-11-06 14:30:32 608

原创 bom对象都有哪些

BOM是browser object model的缩写,简称浏览器对象模型 ,提供了独立于内容而与浏览器窗口进行交互的对象;1、window对象 ,是JS的最顶层对象,其他的BOM对象都是window对象的属性;2、document对象,文档对象;3、location对象,浏览器当前URL信息;4、navigator对象,浏览器本身信息;5、screen对象,客户端屏幕信息;6、history对象,浏览器访问历史信息;...

2020-10-30 14:01:54 542

原创 http请求的几种方法

get请求指定的页面信息,并返回实体主体head类似于get请求,只不过返回的响应中没有具体的内容,用于获取报纸头post向指定资源提交数据进行请求(如提交表单或上传文件)。数据被包含在请求体中post请求可能会导致新的资源的建立或已有资源的修改put从 客户端向服务器传送的数据取代指定的文档的内容delete请求服务器删除指定的页面connectoptions允许客户端查看服务器的性能trace回显服务器收到的请求,主要用于测试或诊断...

2020-10-30 14:01:16 307

原创 一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?

浏览器输入域名->浏览器查询dns是否有缓存->DNS查询到域名->TCP/IP链接(三次握手)->建立连接->浏览器发出请求->服务器响应->浏览器会先获得响应头然后在获得相应体(因为响应体有时候会很大).1、浏览器地址栏输入url2、浏览器会先查看浏览器缓存–系统缓存–路由缓存,如有存在缓存,就直接显示。如果没有,接着第三步3、域名解析(DNS)获取相应的ip4、浏览器向服务器发起tcp连接,与浏览器建立tcp三次握手5、握手成功,浏览

2020-10-30 14:00:34 137

原创 git和svg

svg是几种式版本控制系统,git是分布式版本控制系统,git是开发人员创建自己的分支,这个分支就相当于将源码copy一份在本机上之后都是修改本地的代码,可随时拉取服务器的代码进行同步,git可创建无数分支开发人员只需要将自己的代码修改提交就可以,这样冲突的几率会小很多2.svg是直接与服务器进行交互,git是将项目缓存到本地再推送到服务器3.svg必须联网,git可不联网开发4.svg容易冲突,git不容易冲突5.svg旨在项目管理,git旨在代码管理6.svg适用于多项目并行开发,git适

2020-10-30 13:58:26 694

原创 git常见指令

git init 初始化git clonegit add提交到暂存区,再git commit提交到版本库git branch显示本地分支git branch -d分支名

2020-10-30 13:56:04 86

原创 IE与火狐的事件机制的区别

"事件冒泡":事件开始由最具体的元素接受,然后逐级向下传播"事件捕捉":事件开始由最不具体的节点先接受,然后逐级向下,一直到最具体的"DOM事件流":三个阶段:事件捕捉,目标阶段,事件冒泡阻止事件冒泡:e.stopPropagation()旧的ie的方法:ev.canelBubble=true;事件处理机制:IE是冒泡,firefox同时支持两种事件模型,捕获事件和冒泡型事件...

2020-10-30 13:55:06 187

原创 cdn简单理解

在css/js代码上线之后开发人员经常会优化性能,从用户刷新网页开始,一次js请求一般情况下会有dns缓存,cdn缓存,浏览器缓存和服务器缓存。cdn是将源站内容分发至最近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率。解决因为分布,带宽,服务器性能带来的访问延迟问题,适用于站点的加速、点播、直播等场景。...

2020-10-30 12:58:49 116

原创 JavaScript中常见的数据类型

基本数据类型stringBoolNumbernullundefined引用数据类型Object(Array,Data,Function,RegExp)在JavaScript中,除了5种原始数据类型其他所有的都是对象, 且typeof方法无法区分数组与对象,对象或者伪数组(类数组) 对象不能使用数组的方法,使用前需要将数组转成真正的数值。...

2020-10-30 12:53:09 206

原创 JavaScript是一门什么样的语言,它有哪些特点

javaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能。JavaScript兼容于ECMA标准,因此也称为ECMAScript。基本特点是一种解释性脚本语言(代码不进行预编译)。主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。

2020-10-22 14:29:33 1007

原创 阻止事件冒泡和事件默认行为

//阻止事件冒泡if(typeof ev.stopPropagation=='function') { //标准的 ev.stopPropagation();} else { //非标准IE window.event.cancelBubble = true;}//阻止事件默认行为return false

2020-10-22 14:28:42 60

原创 call和apply的区别

call(thisObj,arg1,arg2...) //将所有参数一个一个传递进去apply(thisObj,[argArray]) //将所有参数放在数组中传入功能一样, 都是将当前函数作为指定对象的方法执行, 即函数中的this是指定对象

2020-10-22 14:27:46 75

原创 IE和标准下有哪些兼容性的写法

var ev = ev || window.eventdocument.documentElement.clientWidth || document.body.clientWidthvar target = ev.srcElement||ev.target

2020-10-22 14:26:10 275

原创 事件绑定和普通事件有什么区别

普通添加事件的方法:var btn = document.getElementById("hello");btn.onclick = function(){ alert(1);}btn.onclick = function(){ alert(2);}执行上面的代码只会alert 2事件绑定方式添加事件:var btn = document.getElementById("hello");btn.addEventListener("click",function(){ alert(1

2020-10-22 14:25:09 123

原创 数组方法pop() push() unshift() shift()

push()尾部添加 pop()尾部删除unshift()头部添加 shift()头部删除map() : 遍历数组中的元素, 返回一个新数组(包含回调函数返回的数据)filter():遍历数组中的元素, 返回一个新数组(包含回调函数返回true的元素)...

2020-10-22 14:19:35 137

原创 jsonp的原理,以及为什么不是真正的ajax

动态创建script标签,回调函数Ajax是页面无刷新请求数据操作

2020-10-22 14:14:52 102

原创 闭包是什么,特性是什么,对页面影响

闭包就是能够读取其他函数内部变量的函数。在本质上,闭包就是将函数内部和函数外部连接起来的桥梁。 function outer() { var num = 1; function inner() { var n = 2; alert(n + num); //3 } return inner; } outer()();...

2020-10-22 14:11:06 89

原创 创建函数的几种方式

1.函数声明function sum1(num1, num2) {return num1 + num2;}2.函数表达式var sum2 = function (num1, num2) {return num1 + num2;}3.函数对象方式var sum3 = new Function(“num1”, “num2”, “return num1+num2”);

2020-10-22 14:00:12 484

空空如也

空空如也

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

TA关注的人

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