自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 js深入之实现call、apply和bind

一. call和apply1. 代码完整实现Function.prototype.mycall = function (context, ...argus) { if (typeof this !== 'function') { throw new TypeError('not funciton') } const fn = t...

2019-07-21 11:52:00 215

转载 js内存深入学习(二)

继上一篇文章js内存深入学习(一)3. 内存泄漏对于持续运行的服务进程(daemon),必须及时释放不再用到的内存。否则,内存占用越来越高,轻则影响系统性能,重则导致进程崩溃。 对于不再用到的内存,没有及时释放,就叫做内存泄漏(memory leak)3.1 node.js内存补充node.js中V8中的内存分代:新生代:存活时间较短的对象,会被GC自动回收的对...

2019-03-03 09:16:00 198

转载 js内存深入学习(一)

一. 内存空间储存某些情况下,调用堆栈中函数调用的数量超出了调用堆栈的实际大小,浏览器会抛出一个错误终止运行。这个就涉及到内存问题了。1. 数据结构类型栈: 后进先出(LIFO)的数据结构堆: 一种树状结构队列: 先进先出(FIFO)的数据结构2. 变量的存放JS内存空间分为栈(stack)、堆(heap)、池(一般也会归类为栈中)。 其中栈存放变...

2019-03-02 22:42:00 219

转载 web缓存策略之HTTP缓存大全

一. web缓存总分类数据库数据缓存Web应用,特别是SNS类型的应用,往往关系比较复杂,数据库表繁多,如果频繁进行数据库查询,很容易导致数据库不堪重荷。为了提供查询的性能,会将查询后的数据放到内存中进行缓存,下次查询时,直接从内存缓存直接返回,提供响应效率。比如常用的缓存方案有memcached等。服务器端缓存代理服务器缓存代理服务器是浏览器...

2019-02-27 22:35:00 276

转载 Service Worker MDN英文笔记

前言: 以前学习基础知识的时候总看别人写的入门文章,但有时候还是一脸懵逼,直到自己用心阅读了MDN的英文文档才对基础知识的一些理论有了更深的理解,所以我在边阅读文档的时候边记录下帮助比较大的,也方便大家简洁学习。建议英文不好的同学可以先看我之前学的中文版基础知识再来学习这篇英文整理。Service Worker基础知识整理Service worker conceptsServic...

2019-02-26 21:41:00 366

转载 JS引擎线程的执行过程的三个阶段(二)

继续 JS引擎线程的执行过程的三个阶段(一)内容,如下:三. 执行阶段1. 网页的线程永远只有JS引擎线程在执行JS脚本程序,其他三个线程只负责将满足触发条件的处理函数推进事件队列,等待JS引擎线程执行, 不参与代码解析与执行。JS引擎线程: 也称为JS内核,负责解析执行Javascript脚本程序的主线程(例如V8引擎)事件触发线程: 归...

2019-02-25 21:20:00 205

转载 JS引擎线程的执行过程的三个阶段(一)

浏览器首先按顺序加载由<script>标签分割的js代码块,加载js代码块完毕后,立刻进入以下三个阶段,然后再按顺序查找下一个代码块,再继续执行以下三个阶段,无论是外部脚本文件(不异步加载)还是内部脚本代码块,都是一样的原理,并且都在同一个全局作用域中。JS引擎线程的执行过程的三个阶段:语法分析预编译阶段执行阶段一. 语法分析分析该js脚本代码...

2019-02-25 21:16:00 226

转载 Service Worker基础知识整理

Service Worker是什么service worker 是独立于当前页面的一段运行在浏览器后台进程里的脚本。它的特性将包括推送消息,背景后台同步, geofencing(地理围栏定位),拦截和处理网络请求。这个 API 会让人兴奋的原因是,它可以使你的应用先访问本地缓存资源,所以在离线状态时,在没有通过网络接收到更多的数据前,仍可以提供基本的功能(一般称之为 Offlin...

2019-02-23 13:10:00 526

转载 【实习】在大公司实习六个月后的收获

  从大三的暑假开始,我就一直在某互联网公司一直实习到来年的一月份,算起来也六个月了,经历过这六个月的洗礼,颇有感想,假如自己没有这段经历的话,或许自己会错失职场和技术上的收获。我始终相信,所有的经历无论对错与结果如何,都是一段收获的旅途。这篇文章就撇开技术层面的细节,说说宏观上的收获。接触到流程化管理  我所在的部门是属于技术服务类型,也就是利用平台流量为不同的厂商导流,...

2018-03-03 09:52:00 528

转载 【nginx】nginx解决跨域详解

使用场景:本地运行一个项目,但是要访问外域的api接口,存在跨域问题,解决方式有很多,但我尝试用nginx解决,搜索了网上文章后再加上尝试终于成功, 其中一些注意事项和大家分享一下。一.window下使用nginx重点:掌握重启和关闭nginx的命令1.安装:在官网上选择适合的版本,我选的是window版本的: http://nginx.org/en/download.h...

2018-02-03 15:15:00 2416

转载 【干货】学习前端的五个工具

【前言】不管学习什么,都需要自律,但有什么工具可以帮助我们自律呢?有时候我们有那颗上进的心,却总是缺少一些辅助我们努力前行的工具。在这里,小编结合自己的实际应用,给大家推荐几个不错的工具和使用方式,希望大家也结合自己的实际,看看哪些工具适合你吧。01.思维导图有时候我们组织活动,或者是整理知识点的时候,就可以用到思维导图来帮我们整理思路,让我们做事井井有条。...

2017-07-10 15:01:00 229

转载 【SEO】搜索引擎优化的陷阱和作弊

一.认识SEO【理解】站内优化是指更改网站内部结构,让网站利于蜘蛛爬取,比如网站内容;站外优化是指发反向链接,给蜘蛛一个爬取你网站的通道。其中,反向链接是指网页A 上有一个链接指向网页B,则网页A 上的链接是网页B 的反向链接。SEO 中谈到的反向链接又叫导入链接(Backlinks),外部链接。但反向链接的概括包括了站内和站外的导入链接。二.SEO常见陷阱...

2017-07-07 12:15:00 241

转载 【面经】腾讯和YY实习生面试总结

【前言】  之前的四月份和五月份各面试了腾讯和YY的暑假实习,腾讯的失败了,YY的成功了。面试中我总会遇到自己不懂的,所幸的是不懂的越来越少,自己也一步一脚印得攻克自己不懂的。此时六月份的我再回顾起来,发现自己进步了不少。这两个面经历史有点小悠久,回顾一下,也加点自己现在的想法,分享点小经验。【面试回顾】 腾讯:一.面试前一天的准备:  面试前,我开始紧张得准备,...

2017-06-26 22:29:00 509

转载 【面经】蚂蚁金服一二三面的面经总结(内推实习方面)

  我是2018年毕业的。我大概是从二月中旬的时候就陆续投一些公司的简历,想找一下比较好的暑假实习,一些大公司从二月份中下旬就开始发内推了,貌似我是在牛客网的讨论区刷到内推的机会的,然后就发了简历。等到了最近三月的7/8/10号这三天,我经历了杭州蚂蚁金服的一二三面(电话),从中我收获了很多,顺便记录下来,写写自己的感谢。 一.第一次电面(2017.3.7 下午 5:30开始,持续半小时...

2017-03-11 08:58:00 339

转载 【性能】雅虎军规(14条常用)笔记

1.尽可能减少http请求(文字,图片(css sprite),css,js)--->需要了解http1和http2的区别2.使用CDN(内容分发网络) (每台副本服务器都需要一定的成本,从硬件上)3.增加Expire/Cache-Control头(设置过期的时间,存在客户端的缓存中,可以采用cookie或web storage)4.启动Gzip压缩(即在服务器压缩...

2017-03-08 23:58:00 153

转载 【JS】JavaScript中的闭包

在JavaScript中,闭包指的是有权访问另一个函数作用域中的变量的函数;创建闭包最常见的方式就是在一个函数内创建另一个函数。如下例子:function A(propertyName){ return function(object1, object2){ var v1 = object1[propertyName]; va...

2017-03-08 23:46:00 145

转载 【JS】JavaScript中的执行环境与作用域

JavaScript中的执行环境定义了变量或函数有权访问的数据(每个函数都有自己的执行环境),全局执行环境是最外围的执行环境,在浏览器中,全局执行环境就是window对象,所以所有的全局变量和函数都是作为window对象的属性和方法创建的。当某一个执行环境中所有代码执行完成后,该环境就被销毁,保存在其中的变量和函数也将被销毁,全局执行环境在关闭网页或浏览器时才被销毁。 ...

2017-02-23 23:46:00 145

转载 【js】性能问题

执行环境和作用域一.全局变量和局部变量每个执行环境都有与之关联的变量对象(变量和函数存储在这里),全局执行环境是最外围的执行环境,根据ECMA实现所在的宿主不同,表示的执行环境的对象也不同。在web浏览器中,全局执行环境被认为是window对象。每个函数都有自己的执行环境,有自己对应的变量对象(arguments对象),当执行流进入一个函数时,函数的环境会被推进一个环境栈,函...

2017-02-20 07:28:00 163

转载 【js】基本类型和引用类型的区别

1.保存方式:(一脸懵逼???)基本类型是按值访问的,可以在变量的生命周期改变它,但是它是储存在哪里的呢?在浏览器缓存吗?【执行环境中定义的所有变量和函数都存储在执行环境的变量对象里,变量对象我们编写的代码无法访问,但是解析器在处理数据的时候会在后台调用】引用类型的值保存在内存中,js对访问内存位置有所限制(这种限制如何理解?),当我们复制的时候操作的是对象的引用,当我们为对象删...

2017-02-20 07:27:00 205

转载 【js】函数问题

一.函数重载问题:由于js的函数传入的参数当做arguments对象(和数组类似,但不是Array的实例),传入的参数类型和数量没有限制,没有函数签名,所以如果要实现重载功能 的话,只能是不够完美得实现:function doAdd(num1,num2){if(arguments.length==1){console.log(num1+10);}else if (...

2017-02-20 07:26:00 154

转载 【JS】JavaScript中的参数传递

  ECMAScript中所有函数的参数都是按值传递的,简单讲就是函数外部的值 复制给函数内部的参数,就和把值从一个变量复制到另一个变量一样。切记访问变量有按值访问和按引用访问,而参数只能按值传递。 在向参数传递基本类型的值时,被传递的值会被复制给一个局部变量(可以把ECMAScript函数中的参数想象成局部变量);向参数传递引用类型的值时,会把这个值在内存中的地址复制给...

2017-02-17 14:47:00 176

空空如也

空空如也

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

TA关注的人

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