2 雪落凡尘zz

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 23w+

原型链

https://www.jianshu.com/p/dee9f8b14771

2020-08-17 21:36:33

设计模式

1.单例模式window对象定义:是保证一个类只有一个实例,并且提供一个访问它的全局访问点。需求:一些对象我们往往只需要一个,比如线程池、全局缓存、浏览器中的window对象、登录浮窗等。实现:用一个变量标识当前是否已经为某个类创建过对象,如果是,则在下一次获取这个类的实例时,直接返回之前创建的对象。// 单例模式var Singleton = function(name){ this.name = name; this.instance = null; this.getName=(

2020-08-16 19:08:31

cookie内容

Set-Cookie: "name=value;domain=.domain.com;path=/;expires=Sat, 11 Jun 2016 11:29:42 GMT;HttpOnly;secure"其中name=value是必选项,其它都是可选项。Cookie的主要构成如下:name:一个唯一确定的cookie名称。通常来讲cookie的名称是不区分大小写的。value:存储在cookie中的字符串值。最好为cookie的name和value进行url编码domain:cookie对于哪

2020-08-15 20:54:00

进程和线程

进程和线程的区别(1)线程在进程下行进(单纯的车厢无法运行)(2)一个进程可以包含多个线程(一辆火车可以有多个车厢)(3)不同进程间数据很难共享(一辆火车上的乘客很难换到另外一辆火车,比如站点换乘)(4)同一进程下不同线程间数据很易共享(A车厢换到B车厢很容易)(5)进程要比线程消耗更多的计算机资源(采用多列火车相比多个车厢更耗资源)(6)进程间不会相互影响,一个线程挂掉将导致整个进程挂掉(一列火车不会影响到另外一列火车,但是如果一列火车上中间的一节车厢着火了,将影响到所有车厢)(7)进程可以

2020-08-15 20:16:11

redux

1.redux首先,用户发出 Action,然后,Store 自动调用 Reducer,并且传入两个参数:当前 State 和收到的 Action,Reducer 会返回新的 State ,State 一旦有变化,Store 就会调用监听函数,listener可以通过store.getState()得到当前状态。如果使用的是 React,这时可以触发重新渲染 View。...

2020-08-15 20:08:14

cookie localStorage sessionStorage

cookie localStorage sessionStorage异同cookie:在所有同源窗口中都是共享的sessionStorage:在同一个浏览器窗口是共享的(不同浏览器、同一个页面也是不共享的)localStorage:在所有同源窗口中都是共享的...

2020-08-14 21:44:17

let const var

全局作用域:任何地方都能访问到的对象拥有全局作用域。(1)函数外面定义的变量(2)未定义直接赋值的变量自动声明函数作用域:只可函数内部访问块级作用域:{},包括for,if为什么需要?(1)内层变量会覆盖外层变量(变量提升)var tmp = new Date();function f() { console.log(tmp); if (false) { var tmp = 'hello world'; }}f(); // undefined(2)循环变量泄漏

2020-08-14 21:06:27

promise 并发控制

https://blog.csdn.net/tonghonglei/article/details/88054116

2020-08-13 21:28:40

await async相关

每隔几秒输出值function sleep(interval) { return new Promise(resolve => { setTimeout(resolve, interval); }) } // 用法 async function one2FiveInAsync() { for(let i = 1; i <= 5; i++) { console.log(i); await sleep(1000*i);

2020-08-11 23:50:59

js内存泄漏

1.全局变量function foo(arg) { bar = "this is a hidden global variable"; //window.bar} function foo() { this.variable = "potential accidental global"; } // Foo 调用自己,this 指向了全局对象(window) // 而不是 undefined foo(); 2.闭包function(){ let a=1;

2020-08-11 21:44:37

css画各种图形

1.三角形.triangle{ width:0; height:0; border:50px solid transparent; border-left:50px solid red; // border-bottom:50px solid red;}.triangle{ width:0; height:0; border-right:100px solid transparent; border-bottom:100px solid red;}2.扇

2020-08-10 22:41:17

js操作dom方法

DOM节点获取 var div1 = document.getElementById("box1"); //方式一:通过id获取单个标签 var arr1 = document.getElementsByTagName("div1"); //方式二:通过 标签名 获得 标签数组,所以有s var arr2 = document.getElementsByClassName("hehe"); //方式三:通过 类名 获得 标签数组,所以有s parentNo

2020-08-08 15:57:00

mvc

m:(Model)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。v:(view)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。c:(controller)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。mvvm加了viewmodel层是为了解析数据,将结果传给controller层...

2020-08-03 22:22:46

CORS的两种请求方式

CORS是跨源资源分享,解决跨域的方法。JSONP只能发送get请求,CORS允许各种类型的请求。跨域:协议,域名,端口三者存在不同。请求有两种:1.简单请求请求方式为get post headhttp头信息不超出一下字段:Accept、Accept-Language 、 Content-Language、 Last-Event-ID、 Content-Type2特殊请求对服务器有特殊要求的请求,比如请求方法是PUT或DELETE,或者Content-Type字段的类型是applicatio

2020-08-01 21:06:36

vue路由的实现模式

路由:改变url但是不重新请求而刷新视图1.hash模式在url里面“#”后面的称为hash,用window.location.hash读取2.history模式history采用HTML5的新特性;且提供了两个新方法:pushState(),replaceState()可以对浏览器历史记录栈进行修改,以及popState事件的监听到状态变更。history 模式下,前端的 URL 必须和实际向后端发起请求的 URL 一致...

2020-08-01 19:12:53

从浏览器输入URL到页面呈现经历了什么

1.查看缓存(浏览器缓存,系统缓存,路由器缓存),如果有直接访问2.如果没有,DNS服务器进行域名解析,解析成ip地址3.通过ip地址找到服务器,进行TCP链接,完成三次握手4.浏览器像服务器发送http请求5.服务器响应,将响应报文通过TCP发送回浏览器6.对响应进行解码,根据资源类型决定如何处理7.如果是HTML文档,则构建DOM树,下载CSS,JS资源,构建渲染树,布局,绘制...

2020-07-31 00:00:12

web安全

1.CSRF :(Cross-site request forgery)跨站请求伪造原理:假设用户A登录了www.zz.com,用户A可以评论某个博客。攻击者准备一个页面www.yy.com,若不小心点击此页面则会恶意评论。利用cookie,冒充用户真实发送请求,但获取不到cookie(同源策略)防范:方法一、Token 验证:(用的最多)(1)服务器发送给客户端一个token;(2)客户端提交的表单中带着这个token。(3)如果这个 token 不合法,那么服务器拒绝这个请求。2.xss

2020-07-30 23:40:46

webpack打包优化

https://www.jianshu.com/p/e4c1a9c40a2e

2020-07-30 16:04:09

DOM渲染流程

Safari和Chrome都使用webkit,Webkit是一款开源渲染引擎dom渲染流程:1、浏览器解析html源码,然后创建一个DOM树。在DOM树中,每一个HTML标签都有一个对应的节点(元素节点),并且每一个文本也都有一个对应的节点(文本节点)。DOM树的根节点就是documentElement,对应的是html标签。2、浏览器解析CSS代码,计算出最终的样式数据。对CSS代码中非法的语法它会直接忽略掉。解析CSS的时候会按照如下顺序来定义优先级:浏览器默认设置,用户设置,外联样式,内联样

2020-07-29 16:40:45

强缓存与协商缓存

强制缓存:当浏览器去请求某个文件的时候,服务端就在respone header里面对该文件做了缓存配置。缓存的时间、缓存类型都由服务端控制1.cache-control: max-age=xxxx,public客户端和代理服务器都可以缓存该资源;客户端在xxx秒的有效期内,如果有请求该资源的需求的话就直接读取缓存,statu code:200 ,如果用户做了刷新操作,就向服务器发起http请求2.cache-control: max-age=xxxx,private只让客户端可以缓存该资源;代理

2020-07-29 16:21:13

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。