摘要:在Web应用中,实现动画效果的方法比较多,Javascript 中可以通过定时器 setTimeout 来实现,css3 可以使用 transition 和 animation 来实现,html5 中的 canvas 也可以实现。除此之外,html5 还提供一个专门用于请求动画的API,那就是 re
阅读全文
摘要:arguments.callee的作用 arguments 的主要用途是保存函数参数, 但这个对象还有一个名叫 callee 的属性,返回正被执行的 Function 对象,也就是所指定的 Function 对象的正文,这有利于匿名函数的递归或者保证函数的封装性。 请看下面这个非常经典的阶乘函数 1
阅读全文
摘要:闭包 JavaScript 开发的一个关键方面就是闭包:一个可以访问外部(封闭)函数变量的内部函数。由于 JavaScript 运行时的实现细节,可以通过以下方式泄漏内存: 这个代码片段做了一件事:每次调用 replaceThing 时,theThing 都会获得一个新对象,它包含一个大的数组和一个
阅读全文
摘要:继承了事件类的对象既是事件注册者,也是事件发布者。对象被收回时,其监听的事情也会被释放,除非该事件中存在其他指向全局的引用,这种情况必须手动移除监听。
阅读全文
摘要:转自:https://www.cnblogs.com/littledu/archive/2012/05/19/2508672.html 我们知道,Array.prototype.slice.call(arguments)能将具有length属性的对象转成数组,除了IE下的节点集合(因为ie下的dom
阅读全文
摘要:转自:https://mp.weixin.qq.com/s/BmSeCZFZrpkCGk_mmCYNAQ 前言 对一个循环分享的这么详细,相信看完你会有所收获。本文由前端早读课专栏作者@编译青春授权分享。 正文从这开始~ 在ECMAScript5(简称 ES5)中,有三种 for 循环,分别是: 简
阅读全文
摘要:转自:https://segmentfault.com/a/1190000004322487 看到标题时,有些同学可能会想:“我已经用xhr成功地发过很多个Ajax请求了,对它的基本操作已经算挺熟练了。” 我之前的想法和你们一样,直到最近我使用xhr时踩了不少坑儿,我才突然发现其实自己并不够了解xh
阅读全文
摘要:1. 解析: 当使用apply或call时,如果我们传入第一个参数为null,函数体内的this会指向默认的宿主对象,在浏览器中则是window。 apply和call只是参数传入形式不同,其他一样。但bind则不同:前面的调用call或apply时,函数直接运行,但bind不会运行,而是返回一个绑
阅读全文
摘要:·执行环境(execution context),也称为环境、执行上下文、上下文环境、执行上下文环境: 每次当控制器转到ECMAScript可执行代码的时候,即会进入到一个执行上下文。执行上下文(简称-EC)是ECMA-262标准里的一个抽象概念,用于同可执行代码(executable code,分
阅读全文
摘要:什么是this this是js中的一个关键词,它总是指向一个对象,而具体指向哪个对象是在运行时基于函数的执行环境动态绑定的,而非函数被声明时的环境。 当函数被调用时,this被添加到作用域中,例如: add的作用域链如下图所示,我们可以看到作用域链中的两个this(一个全局作用域中的this和add
阅读全文
摘要:作用域 在一个函数被调用的时候,函数的作用域才会存在。此时,在函数还没有开始执行的时候,开始创建函数的作用域: 函数作用域的创建步骤: 1.函数形参的声明。 2.函数变量的声明。 3.普通变量的声明。 4.函数内部的this指针赋值。(PS: 在一个函数中,this总是指向当前函数的所有者对象, t
阅读全文
摘要:场景1:阻止默认事件 比如这样的一个需求 点击取消a标签按钮的时候会触发一些js动作,但是不能让这个a标签产生跳转行为, 所以需要在点击取消的时候 阻止冒泡,防止其跳转。 场景2:阻止冒泡 比如最简单的弹出层:当点击提交按钮的时候提交信息,当点击弹出层周边的空白区域的时候取消遮罩。但 是因为存在事件
阅读全文