jacksplwxy

2018年9月4日

arguments.callee的作用及替换方案

摘要: arguments.callee的作用 arguments 的主要用途是保存函数参数, 但这个对象还有一个名叫 callee 的属性,返回正被执行的 Function 对象,也就是所指定的 Function 对象的正文,这有利于匿名函数的递归或者保证函数的封装性。 请看下面这个非常经典的阶乘函数 1 阅读全文

posted @ 2018-09-04 17:42 jacksplwxy 阅读(292) 评论(0) 推荐(0) 编辑

2018年8月28日

复杂闭包分析

摘要: 闭包 JavaScript 开发的一个关键方面就是闭包:一个可以访问外部(封闭)函数变量的内部函数。由于 JavaScript 运行时的实现细节,可以通过以下方式泄漏内存: 这个代码片段做了一件事:每次调用 replaceThing 时,theThing 都会获得一个新对象,它包含一个大的数组和一个 阅读全文

posted @ 2018-08-28 10:50 jacksplwxy 阅读(274) 评论(0) 推荐(0) 编辑

2018年8月27日

订阅发布模式

摘要: 继承了事件类的对象既是事件注册者,也是事件发布者。对象被收回时,其监听的事情也会被释放,除非该事件中存在其他指向全局的引用,这种情况必须手动移除监听。 阅读全文

posted @ 2018-08-27 15:04 jacksplwxy 阅读(205) 评论(0) 推荐(0) 编辑

2018年7月29日

编译原理——词法分析器实现

摘要: 词法分析器实现 一、写在前面 编译原理是软件工程的一项基础的课程,是研究软件是什么,为什么可以运行,以及怎么运行的学科,编译系统的改进将会直接对其上层的应用程序的执行效率,执行原理产生深刻的影响。编译原理的目的是将源语言翻译成目标语言。与翻译的区别就是,编译将高级语言编译成低级语言。至于达到什么样的 阅读全文

posted @ 2018-07-29 22:56 jacksplwxy 阅读(2247) 评论(0) 推荐(0) 编辑

2018年2月22日

Array.prototype.slice.call(arguments)

摘要: 转自:https://www.cnblogs.com/littledu/archive/2012/05/19/2508672.html 我们知道,Array.prototype.slice.call(arguments)能将具有length属性的对象转成数组,除了IE下的节点集合(因为ie下的dom 阅读全文

posted @ 2018-02-22 00:04 jacksplwxy 阅读(162) 评论(0) 推荐(0) 编辑

2017年12月23日

深入了解 JavaScript 中的 for 循环

摘要: 转自:https://mp.weixin.qq.com/s/BmSeCZFZrpkCGk_mmCYNAQ 前言 对一个循环分享的这么详细,相信看完你会有所收获。本文由前端早读课专栏作者@编译青春授权分享。 正文从这开始~ 在ECMAScript5(简称 ES5)中,有三种 for 循环,分别是: 简 阅读全文

posted @ 2017-12-23 21:14 jacksplwxy 阅读(194) 评论(0) 推荐(0) 编辑

2017年12月22日

XMLHttpRequest

摘要: 转自:https://segmentfault.com/a/1190000004322487 看到标题时,有些同学可能会想:“我已经用xhr成功地发过很多个Ajax请求了,对它的基本操作已经算挺熟练了。” 我之前的想法和你们一样,直到最近我使用xhr时踩了不少坑儿,我才突然发现其实自己并不够了解xh 阅读全文

posted @ 2017-12-22 14:55 jacksplwxy 阅读(227) 评论(0) 推荐(0) 编辑

2017年12月18日

冷门JS技巧

摘要: 冷门JS技巧 前端已经被玩儿坏了!像console.log()可以向控制台输出图片等炫酷的玩意已经不是什么新闻了,像用||操作符给变量赋默认值也是人尽皆知的旧闻了,今天看到Quora上一个帖子,瞬间又GET了好多前端技能,一些属于技巧,一些则是闻所未闻的冷知识,一时间还消化不过来。现分类整理出来分享 阅读全文

posted @ 2017-12-18 14:15 jacksplwxy 阅读(183) 评论(0) 推荐(0) 编辑

2017年11月29日

(O)WEB:前端网站性能优化(原创)

摘要: *从理论、实战编码、实战调试3个方面学习前端性能优化(包括页面加载时间和页面流畅度): 理论 *浏览器的完整渲染过程①输入url,发送请求②加载(即下载)整个.html文件③加载完后解析(即运行)html,并在解析的过程中构建DOM树·JavaScript是单线程的。浏览器是多线程的:有的线程负责加 阅读全文

posted @ 2017-11-29 00:06 jacksplwxy 阅读(181) 评论(0) 推荐(0) 编辑

2017年11月19日

(O)web缓存

摘要: 为什么要用缓存 一般针对静态资源如CSS,JS,图片等使用缓存,原因如下: 请求更快:通过将内容缓存在本地浏览器或距离最近的缓存服务器(如CDN),在不影响网站交互的前提下可以大大加快网站加载速度。 节省带宽:对于已缓存的文件,可以减少请求带宽甚至无需请求网络。 降低服务器压力:在大量用户并发请求的 阅读全文

posted @ 2017-11-19 12:53 jacksplwxy 阅读(161) 评论(0) 推荐(0) 编辑

2017年5月16日

不加载图片!直接HTTP方式获取图片尺寸

摘要: https://www.web-tinker.com/article/20033.html 阅读全文

posted @ 2017-05-16 23:24 jacksplwxy 阅读(225) 评论(0) 推荐(0) 编辑

2017年5月11日

(O)JS核心:call、apply和bind

摘要: 1. 解析: 当使用apply或call时,如果我们传入第一个参数为null,函数体内的this会指向默认的宿主对象,在浏览器中则是window。 apply和call只是参数传入形式不同,其他一样。但bind则不同:前面的调用call或apply时,函数直接运行,但bind不会运行,而是返回一个绑 阅读全文

posted @ 2017-05-11 22:47 jacksplwxy 阅读(144) 评论(0) 推荐(0) 编辑

2017年5月1日

CSS中(font和background)的简写形式

摘要: 转自:http://blog.csdn.net/shenzhennba/article/details/7356095 1.字体属性主要包括下面几个:font-family(字体族): “Arial”、“Times New Roman”、“宋体”、“黑体”等;font-style(字体样式): no 阅读全文

posted @ 2017-05-01 15:42 jacksplwxy 阅读(284) 评论(0) 推荐(0) 编辑

2017年4月30日

(O)编写可维护的代码示例(原创)

摘要: 图片轮播: 电梯: 放大镜: 阅读全文

posted @ 2017-04-30 14:39 jacksplwxy 阅读(230) 评论(2) 推荐(0) 编辑

2017年4月18日

(O)JS:执行环境、变量对象、活动对象和作用域链(原创)

摘要: ·执行环境(execution context),也称为环境、执行上下文、上下文环境、执行上下文环境: 每次当控制器转到ECMAScript可执行代码的时候,即会进入到一个执行上下文。执行上下文(简称-EC)是ECMA-262标准里的一个抽象概念,用于同可执行代码(executable code,分 阅读全文

posted @ 2017-04-18 01:18 jacksplwxy 阅读(341) 评论(0) 推荐(0) 编辑

2017年4月16日

(O)JS高阶函数应用——函数节流

摘要: 在一些函数需被频繁调用的场景,如:window.onresize、mousemove、scroll滚动事件、上传进度等等,操作频繁导致性能消耗过高,而造成浏览器卡顿现象,我们可以通过函数节流的方式解决此问题。 比如我们在window.onresize事件中打印当前浏览器窗口的大小,而拉拽窗口的时候, 阅读全文

posted @ 2017-04-16 19:16 jacksplwxy 阅读(331) 评论(0) 推荐(0) 编辑

2017年4月12日

(O)js核心:this

摘要: 什么是this this是js中的一个关键词,它总是指向一个对象,而具体指向哪个对象是在运行时基于函数的执行环境动态绑定的,而非函数被声明时的环境。 当函数被调用时,this被添加到作用域中,例如: add的作用域链如下图所示,我们可以看到作用域链中的两个this(一个全局作用域中的this和add 阅读全文

posted @ 2017-04-12 23:00 jacksplwxy 阅读(219) 评论(0) 推荐(0) 编辑

(O)js核心:作用域链

摘要: 作用域 在一个函数被调用的时候,函数的作用域才会存在。此时,在函数还没有开始执行的时候,开始创建函数的作用域: 函数作用域的创建步骤: 1.函数形参的声明。 2.函数变量的声明。 3.普通变量的声明。 4.函数内部的this指针赋值。(PS: 在一个函数中,this总是指向当前函数的所有者对象, t 阅读全文

posted @ 2017-04-12 20:55 jacksplwxy 阅读(171) 评论(0) 推荐(0) 编辑

2017年4月11日

前端工程化汇总

摘要: 随着前段项目的日益复杂,前段有必要进行工程化。前段工程化主要包括4个方面:模块化、组件化、规范化和自动化。 一、模块化 背景:浏览器本身并不提供模块管理的机制,为了调用各个模块,有时不得不在网页中,加入一大堆script标签。这样就使得网页体积臃肿,难以维护,还产生大量的HTTP请求,拖慢显示速度, 阅读全文

posted @ 2017-04-11 01:03 jacksplwxy 阅读(246) 评论(0) 推荐(0) 编辑

2017年3月31日

(O)jquery:e.target和this的区别(如何使事件委托后,被选元素的子元素不被选中)

摘要: 上面例子说明: ·e.target是点击的目标元素; ·this是指向事件所绑定的元素(这里是li,click后面那个); 有人说,this也是指向点击的目标元素,只是因为冒泡而最终指向事件所绑定的元素。但当上述代码中加入event.stopPropagation()后,冒泡被阻止,this与e.t 阅读全文

posted @ 2017-03-31 17:39 jacksplwxy 阅读(336) 评论(0) 推荐(0) 编辑

导航