两只小蚂蚁

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  51 随笔 :: 0 文章 :: 0 评论 :: 0 引用

2019年6月17日

摘要:算法 排序算法 稳定排序 待排序序列中相等元素在排序完成后,原有先后顺序不变。 非稳定排序 有序度 待排序序列中有序关系的元素对个数。 逆序度 1. 插入排序 遍历有序数组,对比待插入的元素大小,找到位置。把该位置后的元素依次后移。 时间复杂度: O(N2) 2. 选择排序 区分已排序区间和未排序区 阅读全文
posted @ 2019-06-17 00:25 两只小蚂蚁 阅读 (30) 评论 (0) 编辑

摘要:复杂度分析 大O复杂度表示法 常见的有O(1), O(n), O(logn), O(nlogn) 时间复杂度除了大O表示法外,还有以下情况 最好情况时间复杂度 最坏情况时间复杂度 平均情况时间复杂度 均摊时间复杂度 代码执行效率分析 大多数情况下,代码执行的效率可以采用时间复杂度分析,但是大O表示法 阅读全文
posted @ 2019-06-17 00:23 两只小蚂蚁 阅读 (113) 评论 (0) 编辑

2019年4月8日

摘要:1. 集合对象 1.1 Object 关于Object类型的创建和底层存储原理我在另一篇文章有说明: "JavaScript 对象属性底层原理" 我们知道了大多数情况下Object底层都是Hash结构,我们再看看V8中从Object派生的继承图 1.2 Array 数组是一种类列表对象,可以存储重复 阅读全文
posted @ 2019-04-08 23:17 两只小蚂蚁 阅读 (51) 评论 (0) 编辑

2019年2月19日

摘要:1. SQL注入 虽然现在SQL注入发生的情况总的来说越来越少,还是提二句。关于什么是SQL注入大家都知道就不多说了。 1.1 原理 我们在做前端页面的时候,少不了会又各种输入框,然后通过GET或者POST发送至后端。 那么如果后端在处理时直接使用SQL拼接的话就会产生问题。 1.2 防范手段 1. 阅读全文
posted @ 2019-02-19 00:03 两只小蚂蚁 阅读 (34) 评论 (0) 编辑

2018年11月7日

摘要:1. 报文结构 1.1 请求报文结构 Start Line 单行,包括 Method + URL + HTTP Version Headers 多行,形式为 Name:Value Body 可选,主体部分 1.2 响应报文结构 Status Line 单行,包括 HTTP Version + Sta 阅读全文
posted @ 2018-11-07 23:21 两只小蚂蚁 阅读 (24) 评论 (0) 编辑

2018年11月5日

摘要:1. EventLoop 1.1 调用栈 当一个方法执行时内部调用另外的方法,则会形成调用栈,如图: 1.2 任务队列 JavaScript有一个主线程执行当前任务,主线程的代码同步执行,并把遇到的事件和回调注册到事件表中。 当事件表中的事件被触发时,将会把对应的处理函数推送到任务队列当中。 每一次 阅读全文
posted @ 2018-11-05 22:10 两只小蚂蚁 阅读 (139) 评论 (0) 编辑

2018年10月19日

摘要:Asynchronous JavaScript and XML 1. XMLHttpRequest 前端开发都知道,不多说。 JavaScript function jsonpCallBack(data){ console.log(data.msg); } $(document).ready(fun 阅读全文
posted @ 2018-10-19 20:47 两只小蚂蚁 阅读 (89) 评论 (0) 编辑

2018年10月15日

摘要:JS中实现继承的几种方式 1. 原型链继承 核心: 将父类的实例作为子类的原型 优点: 非常纯粹的继承关系,实例是子类的实例,也是父类的实例 父类新增原型方法/原型属性,子类都能访问到 简单,易于实现 缺点: 要想为子类新增属性和方法,必须要在new Animal()这样的语句之后执行,不能放到构造 阅读全文
posted @ 2018-10-15 22:11 两只小蚂蚁 阅读 (33) 评论 (0) 编辑

摘要:事件 1. DOM0级事件 通过函数赋值给事件处理程序属性。 注意:this指针指向当前元素(作用域为元素作用域) 2. DOM2级事件 通过addEventListener()添加的事件处理程序。 3. 事件类型 UI事件 DOMActivate,load(所有一切加载完毕),unload,abo 阅读全文
posted @ 2018-10-15 22:01 两只小蚂蚁 阅读 (21) 评论 (0) 编辑

摘要:Browser Object Model BOM是所有JavaScript的核心,所有的功能其实都建立在BOM基础之上。各浏览器提供的BOM的功能存在很大差异,BOM在HTML5中已经有很大一部分被放入了标准。 Window对象 window对象代表全局作用域。 如果页面包括frame,则每个fra 阅读全文
posted @ 2018-10-15 21:57 两只小蚂蚁 阅读 (17) 评论 (0) 编辑

2018年10月10日

摘要:Promise 1. 定义 注意:Promise构造函数的参数是一个函数,并且该函数的二个参数也是函数。 注意:Promise的实例用.then指定resolved和rejected状态的回调函数。其中,第二rejected回调函数可以为空。 注意:.then指定的回调函数是异步回调函数,需要注意运 阅读全文
posted @ 2018-10-10 23:13 两只小蚂蚁 阅读 (24) 评论 (0) 编辑

2018年10月8日

摘要:对象属性类型 1. 数据属性 [[Configurable]]:表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或者能否把属性修改为访问器属性,特性默认值为true [[Enumberable]]:表示能否通过for in循环返回属性,特性默认值为true [[Wtiteabl 阅读全文
posted @ 2018-10-08 21:43 两只小蚂蚁 阅读 (4326) 评论 (0) 编辑

2018年9月17日

摘要:webpack模块处理 1. ES6 静态Import ES6的import会被转化为commonjs格式或者是AMD格式,babel默认会把ES6的模块转化为commonjs规范的。 两种写法只需选一种,避免在代码中同时使用造成混淆。 2. ES6 动态Import 语法:Import.then 阅读全文
posted @ 2018-09-17 23:02 两只小蚂蚁 阅读 (60) 评论 (0) 编辑

2018年9月13日

摘要:1. prototype/\_\_proto\_\_/constructor JS原型链和继承网上已经烂大街了,5毛可以买一堆,这里只提一下: constructor:普通对象和函数对象都有,指向创建它的函数 prototype: 函数对象才有,指向构造函数的原型对象(另一个普通对象) \_\_pr 阅读全文
posted @ 2018-09-13 23:36 两只小蚂蚁 阅读 (45) 评论 (0) 编辑

2018年9月11日

摘要:函数调用和this指针 1. 全局环境的this指针 浏览器全局环境下this指向window对象 nodejs环境下this指向global对象 2. 函数中的this指针 2.1 全局环境下函数调用 非严格模式this指向window,严格模式除箭头函数外指向undefine 2.2 作为对象方 阅读全文
posted @ 2018-09-11 21:31 两只小蚂蚁 阅读 (279) 评论 (0) 编辑

2018年9月5日

摘要:作用域 1. 全局环境 window: JS的全局执行环境,顶层对象。this指针在全局执行环境时就指向window。 2. 局部环境 什么情况会具有局部环境? 答: function声明(包括常规声明,箭头函数,匿名函数)的花括号{}内部会形成局部环境。 局部环境有什么特征? 答: 局部环境是运行 阅读全文
posted @ 2018-09-05 00:25 两只小蚂蚁 阅读 (33) 评论 (0) 编辑

2018年9月3日

摘要:严格模式 "use strict" 1. 严格模式作用域 1 整个脚本文件开启严格模式 所有语句之前放"use strict" 所有该脚本的子级作用域也会设置为严格模式 注意: 严格模式和非严格模式脚本混合会存在问题 小技巧: 在函数声明(function)前加"!"可以让解释器理解为函数表达式而非 阅读全文
posted @ 2018-09-03 21:28 两只小蚂蚁 阅读 (14) 评论 (0) 编辑

2018年9月1日

摘要:类型 1. 基础类型种类 JavaScript中的5种基本类型: Undefined Null Boolean Number String 2. 引用类型 定义: 引用类型是指可能由多个值构成的对象 JavaScript中对象都是引用类型,而Function是一种特殊的对象(也是引用类型) 引用类型 阅读全文
posted @ 2018-09-01 13:01 两只小蚂蚁 阅读 (46) 评论 (0) 编辑

2018年7月27日

摘要:看了一下网上对于web性能优化的一些帖子,不是很直观,花了点时间画了一个思维导图。 refers: https://segmentfault.com/a/1190000011936772 https://www.jianshu.com/p/04583fca939b 阅读全文
posted @ 2018-07-27 22:06 两只小蚂蚁 阅读 (28) 评论 (0) 编辑

2018年7月11日

摘要:对比版本:16.4.0 VS 16.3.0 VS 16.2.0 发现最近几次React版本更改比较大,在为17.0的大版本作准备。总结了一下React生命周期函数的变化。 综合对比图如下: 各版本分别如下: 各生命周期函数使用场景: 1. Constructor(props) 使用场景:初始化局部S 阅读全文
posted @ 2018-07-11 22:47 两只小蚂蚁 阅读 (1447) 评论 (0) 编辑

2018年7月7日

摘要:关于分析React源码的文章已经有比较多,我就不献丑了。 根据分析的结果把React的大致流程和思维导图做了一点总结,图片如下: 源码在: https://github.com/laryosbert/mini-react.git 渲染过程: 更新过程: 内部关系思维导图: 小bug:在render函 阅读全文
posted @ 2018-07-07 16:10 两只小蚂蚁 阅读 (65) 评论 (0) 编辑

2018年5月16日

摘要:我们在这里不讨论Angular2和Angular4,因为其完全重写,其实已经不叫AngularJS了。 AngularJS的缺陷: 性能问题:通过检查脏值进行数据更新,当数据不断增加时,检查的效率就不断降低。页面加载速度也会变慢。 落后于当前web发展理念(如组件式的开发) 对手机端的支持不是太友好 阅读全文
posted @ 2018-05-16 22:01 两只小蚂蚁 阅读 (44) 评论 (0) 编辑

2018年5月14日

摘要:JSONP原理 首先:JSON和JSONP是不一样的概念。 JSON是一种数据交换格式,而JSONP是非正式传输协议。 该协议的一个要点就是允许用户传递一个callback参数给服务端,然后服务端返回数据时会将这个callback参数作为函数名来包裹住JSON数据,这样客户端就可以随意定制自己的函数 阅读全文
posted @ 2018-05-14 23:30 两只小蚂蚁 阅读 (60) 评论 (0) 编辑

2018年5月6日

摘要:基础技能1 - 神奇的border 我们先来画一个长方形: 有没有发现什么? 对,四个边的交界处是45°角。那我们可以用这个东东干点什么呢?往下看。 进阶技能1 - 三角形 如果我们把左边的border变宽,右边的border设为0,上下的border设为透明,自身长宽都设为0,猜猜会发生什么? 不 阅读全文
posted @ 2018-05-06 00:40 两只小蚂蚁 阅读 (842) 评论 (0) 编辑

2018年5月3日

摘要:HTML5 : <!DOCTYPE html> HTML4.* :<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 规定页面的描述、关键词、文档的作者、最后修改时间以及 阅读全文
posted @ 2018-05-03 23:56 两只小蚂蚁 阅读 (49) 评论 (0) 编辑

摘要:块级元素 - block level element 总是在新行上开始; 高度,行高以及外边距和内边距都可控制; 宽度缺省是它的容器的100%,除非设定一个宽度; 它可以容纳内联元素和其他块元素 如: div,table,select等 行内元素(内联元素) - inline element 和其他 阅读全文
posted @ 2018-05-03 22:22 两只小蚂蚁 阅读 (33) 评论 (0) 编辑

摘要:Cookie 会跟随每次请求附加到请求header上,大小限制4k。 部署对象: document.cookie 构成: Key-Value 有效期:根据expires配置 可选项: ;path=path (例如 '/', '/mydir') 如果没有定义,默认为当前文档位置的路径。 ;domain 阅读全文
posted @ 2018-05-03 22:07 两只小蚂蚁 阅读 (40) 评论 (0) 编辑

2018年4月21日

摘要:在使用GitHub的时候,为了避免每次输入用户名密码,都会使用SSH方式代替Https。 按网上教程,大多数使用SSH-KeyGen生成公私钥对,而后上传公钥至Github,并切换Repositorie为SSH. 使用SSH-KeyGen输出如下: Generating public/private 阅读全文
posted @ 2018-04-21 13:41 两只小蚂蚁 阅读 (110) 评论 (0) 编辑

2018年4月19日

摘要:1. 原型Prototype 1.1 构造函数 所谓"构造函数",其实就是一个普通函数,但是内部使用了this变量。对构造函数使用new运算符,就能生成实例,并且this变量会绑定在实例对象上。 1.2 实例.constructor 每个构造函数生成实例的时候 会自带一个constructor属性 阅读全文
posted @ 2018-04-19 23:53 两只小蚂蚁 阅读 (41) 评论 (0) 编辑

2018年4月18日

摘要:1. Chromium VS Chrome Chromium is an open-source Web browser project started by Google, to provide the source code for the proprietary Google Chrome b 阅读全文
posted @ 2018-04-18 00:20 两只小蚂蚁 阅读 (42) 评论 (0) 编辑

2018年4月17日

摘要:What Sandbox Do? Sandbox leverages the OS-provided security to allow code execution that cannot make persistent changes to the computer or access info 阅读全文
posted @ 2018-04-17 23:24 两只小蚂蚁 阅读 (61) 评论 (0) 编辑

2018年4月13日

摘要:花了一些时间把ECMA6的新特性进行了回顾,给自己建立了思维索引,大部分内容借鉴了阮一峰大神的博客。 refers: http://es6.ruanyifeng.com/#docs/arraybuffer 阅读全文
posted @ 2018-04-13 22:18 两只小蚂蚁 阅读 (38) 评论 (0) 编辑

2018年2月26日

摘要:Javascript是单线程的,因此异步编程对其尤为重要. ES 6以前: * 回调函数* 事件监听(事件发布/订阅)* Promise对象 ES 6: * Generator函数(协程coroutine) ES 7: * async和await Refers: https://www.cnblog 阅读全文
posted @ 2018-02-26 23:32 两只小蚂蚁 阅读 (20) 评论 (0) 编辑

摘要:Web服务有两种实现方式: 一是SOAP协议方式 二是REST方式。 SOAP是一套完整的实现Web服务的解决方案。这里有必要先简单了解SOAP方式的Web服务,然后对比SOAP方式,我们会发现REST方式欠缺了什么。 SOAP方式的Web服务中的Web服务描述语言(WSDL)和简单对象访问协议(S 阅读全文
posted @ 2018-02-26 23:14 两只小蚂蚁 阅读 (54) 评论 (0) 编辑

摘要:Browser Work: 1、输入网址。 2、浏览器查找域名的IP地址。 3. 浏览器给web服务器发送一个HTTP请求 4. 网站服务的永久重定向响应 5. 浏览器跟踪重定向地址 现在,浏览器知道了要访问的正确地址,所以它会发送另一个获取请求。 6. 服务器“处理”请求,服务器接收到获取请求,然 阅读全文
posted @ 2018-02-26 23:00 两只小蚂蚁 阅读 (29) 评论 (0) 编辑

2018年2月6日

摘要:HTTPS (HTTP Secure) is an adaptation of the Hypertext Transfer Protocol (HTTP) for secure communication over a computer network, and is widely used on 阅读全文
posted @ 2018-02-06 23:11 两只小蚂蚁 阅读 (96) 评论 (0) 编辑

2018年2月5日

摘要:Browser vendors needed a way to add support for new features that were not yet standardized, but without messing up later changes or creating incompat 阅读全文
posted @ 2018-02-05 23:17 两只小蚂蚁 阅读 (41) 评论 (0) 编辑

摘要:1. Selector Different types of selectors: Selectors can be divided into the following categories: Simple selectors: Match one or more elements based o 阅读全文
posted @ 2018-02-05 22:52 两只小蚂蚁 阅读 (76) 评论 (0) 编辑

2018年2月1日

摘要:1. Selector Substring matching attribute selectors, E[attribute^="value"], E[attribute$="value"], E[attribute*="value"] . New pseudo-classes: :target, 阅读全文
posted @ 2018-02-01 23:21 两只小蚂蚁 阅读 (48) 评论 (0) 编辑

2018年1月31日

摘要:温故而知新,画了一个思维导图 HTML5 HTML5 is the fifth revision and newest version of the HTML standard. It offers new features that provide not only rich media supp 阅读全文
posted @ 2018-01-31 23:59 两只小蚂蚁 阅读 (857) 评论 (0) 编辑