03 2020 档案
摘要:1、概述 Storage 接口用于脚本在浏览器保存数据。两个对象部署了这个接口:window.sessionStorage和window.localStorage。 sessionStorage保存的数据用于浏览器的一次会话(session),当会话结束(通常是窗口关闭),数据被清空;localSt
阅读全文
摘要:一、什么是数据结构高层数据结构是用于存储和组织数据的技术,这些数据使修改,导航和访问变得更加容易。数据结构决定了如何收集数据,我们可以用来访问数据的功能以及数据之间的关系。数据结构几乎用于计算机科学和编程的所有领域,从操作系统到基本的编码再到人工智能。数据结构使我们能够: 管理和利用大型数据集 从数
阅读全文
摘要:题目 function Foo() { getName = function () { alert (1); }; return this; } Foo.getName = function () { alert (2);}; Foo.prototype.getName = function ()
阅读全文
摘要:1、文章引言 我们在写页面的时候,经常会遇到多栏布局的情况,如果栏目带有背景色并且栏目内容高度不一样的话,就会导致每个栏目的底部是无法不齐的,这样在排版布局以及给用户的体验不是很好! 2、需求如下 我们要实现的效果就是当各个栏目内容不一样的情况下,保证各个栏目还是对齐的。 3、如何解决 HTML结构
阅读全文
摘要:CORS 是一个 W3C 标准,全称是“跨域资源共享”(Cross-origin resource sharing)。它允许浏览器向跨域的服务器,发出XMLHttpRequest请求,从而克服了 AJAX 只能同源使用的限制。 1、简介 CORS 需要浏览器和服务器同时支持。目前,所有浏览器都支持该
阅读全文
摘要:1. 二分查找和冒泡排序 二分查找: 递归(分左右, 传递start,end参数)和非递归(使用while(l < h)) 冒泡排序: 两个for循环 2. 快速排序 function quickSort (arr) { if (arr.length < 2) return arr var midd
阅读全文
摘要:viewport的概念 viewport就是设备的屏幕上能用来显示我们的网页的那一块区域。 content属性值 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-sca
阅读全文
摘要:数据是否可变: react整体是函数式的思想,把组件设计成纯组件,状态和逻辑通过参数传入,所以在react中,是单向数据流,推崇结合immutable来实现数据不可变; vue的思想是响应式的,也就是基于是数据可变的,通过对每一个属性建立Watcher来监听,当属性变化的时候,响应式的更新对应的虚拟
阅读全文
摘要:CSRF 1.CSRF的基本概念、缩写、全称 CSRF(Cross-site request forgery):跨站请求伪造。 2.CSRF的攻击原理 用户是网站A的注册用户,且登录进去,于是网站A就给用户下发cookie。 从上图可以看出,要完成一次CSRF攻击,受害者必须满足两个必要的条件: (
阅读全文
摘要:什么是跨域? 在前端领域中,跨域是指浏览器允许向服务器发送跨域请求,从而克服Ajax只能同源使用的限制。 什么是同源策略? 同源策略/ SOP(Same origin policy)是一种约定,由Netscape公司1995年发布。它是浏览器最核心也最基本的安全功能,如果有了同源策略,所谓相似是指“
阅读全文
摘要:详细版 1、浏览器会开启一个线程来处理这个请求,对URL 分析判断如果是 http 协议就按照 Web 方式来处理; 2、调用浏览器内核中的对应方法,比如 WebView 中的 loadUrl 方法; 3、通过DNS解析获取网址的IP地址,设置 UA 等信息发出第二个GET请求; 4、进行HTTP协
阅读全文
摘要:简介: 整个在浏览器的渲染过程中(页面初始化,用户行为改变界面样式,动画改变界面样式等)reflow(回流)和repaint(重绘) 会大大影响web性能,尤其是手机页面。因此我们在页面设计的时候要尽量减少reflow和repaint。 什么是reflow和repaint reflow:例如某个子元
阅读全文
摘要:1,请实现如下的函数,可以批量请求数据,所有的URL地址在urls参数中,同时可以通过max参数 控制请求的并发度。当所有的请求结束后,需要执行callback回调。发请求的函数可以直接使用fetch。 function sendRequest (urls: string[], max: numbe
阅读全文
摘要:for…in是遍历数组、对象的key 1.index索引为字符串型数字,不能直接进行几何运算 2.遍历顺序有可能不是按照实际数组的内部顺序 3.使用for in会遍历数组所有的可枚举属性,包括原型。4.所以for in更适合遍历对象,不要使用for in遍历数组。 let arr = [1, 2,
阅读全文
摘要:构造函数中没有显示的创建Object对象, 实际上后台自动创建了 直接给this对象赋值属性和方法, this即指向创建的对象 没有return返回值, 后台自动返回了该对象 2 function Student(name,age,sex){ 3 //var this = {} 4 this.nam
阅读全文
摘要:// 严格模式下, 隐式绑定丢失后this不会指向window, 而是指向undefined 'use strict' var a = 2 var obj = { a: 1, b: function() { // console.log(this.a) console.log(this) } } v
阅读全文
摘要:CommonJs模块输出的是值的拷贝,也就是说,一旦输出一个值,模块内部的变化不会影响到这个值. // common.js var count = 1; var printCount = () =>{ return ++count; } module.exports = { printCount:
阅读全文
摘要:1、sleep函数: sleep函数作用是让线程休眠,等到指定时间在重新唤起。 2、ES6实现: <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width
阅读全文
摘要:日常开发过程中,滚动事件做复杂计算频繁调用回调函数很可能会造成页面的卡顿,这时候我们更希望把多次计算合并成一次,只操作一个精确点,JS把这种方式称为debounce(防抖)和throttle(节流) 函数防抖 当持续触发事件时,一定时间段内没有再触发事件,事件处理函数才会执行一次,如果设定时间到来之
阅读全文
摘要:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> *{ margin: 0; padding: 0; } select{ margin-left: 100px; } </sty
阅读全文
摘要:思路 与map()的实现 ,filter()的实现中的迭代方法不一样,reduce() 是归并方法。 reduce 接收两个参数: 第一个参数是在每一项上调用的函数 该函数接收 4 个参数: 前一个值 prev 当前值 cur 项的索引 index 数组对象 array 第二个可选参数是作为归并基础
阅读全文
摘要:思路 filter 方法接收两个参数: 对每一项执行的函数 该函数接收三个参数: 数组项的值数组项的下标数组对象本身 指定 this 的作用域对象 filter 方法返回 执行结果为true的项组成的数组。 代码表示: arr.filter(function(item, index, arr){},
阅读全文
摘要:思路 map 迭代方法接收两个参数: 对每一项执行的函数 该函数接收三个参数: 数组项的值 数组项的下标 数组对象本身 指定 this 的作用域对象 map 方法返回每次函数调用结果组成的数组。 代码表示: arr.map(function(item, index, arr) {}, this);
阅读全文
摘要:简单来说通过script标签的src属性,src属性不仅仅可以写 JS文件,可以请求任意文件。jsonp是通过JS这一特点实现,并添加async(异步属性)。 当我们用src请求一下后台文件(例如:php)。 1.如果我们在PHP文件中返回来的是 var data =1一条一句的话,将立即执行,那我
阅读全文
摘要:先说一下async的用法,它作为一个关键字放到函数前面, async function timeout() { return 'hello world'; } 只有一个作用, 它的调用会返回一个promise 对象。调用一下看看就知道了,怎么调用?async 函数也是函数,所以它的调用和普通函数的调
阅读全文
摘要:当打包构建应用时,Javascript 包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了。结合 Vue 的异步组件和 Webpack 的代码分割功能,轻松实现路由组件的懒加载. 1、定义 也叫延迟加载,即在需要的时
阅读全文
摘要:1.bind绑定的方法、 不传参 class Hello extends React.Component{ constructor(){ super() this.state = { content:true } this.change = this.change.bind(this) } chan
阅读全文
摘要:实现功能 主要用到的技术:vue-cli + vue2 + vue-router2 + vuex2 + axios + es6 + sass + eslint 主要实现的功能:页面的数据通过 axios 模拟请求本地的 json 文件获得;vue-router2 实现各页面的相互跳转;vuex2 全
阅读全文
摘要:axios: 相当于ajax,之前是用vue-resourse,不过现在这个模块不维护了,基本使用axiosvue-router: 是vue的路由vuex: 是vue的状态管理,方便组件间通信 1、安装: npm install axios --save-dev 2、axios配置如下: // 引入
阅读全文
摘要:1.em 在做手机端的时候经常会用到的做字体的尺寸单位 说白了 em就相当于“倍”,比如设置当前的div的字体大小为1.5em,则当前的div的字体大小为:当前div继承的字体大小*1.5 但是当div进行嵌套的时候,em始终是按照当前div继承的字体大小来缩放,参照后面的例子。 2.rem 这里的
阅读全文
摘要:请点击连接https://juejin.im/post/5c0c7304f265da613e22106c
阅读全文