JavaScript中的this比较灵活,根据在不同环境下,或者同一个函数在不同方式调用下,this都有可能是不同的。但是有一个总的原则,那就是this指的是,调用函数的那个对象。下面是我的学习笔记,把它罗列成8种情况。全局的this(浏览器) 全局作用域的this一般指向全局对象,在浏览器中这对象就是window,在node中这对象就是global。console.log(this.d...

轮播图的思路其实很简单:就是用JavaScript来控制轮播的图片的样式,可以控制display:noneorblock可以控制opacity:‘0’or‘1’也可以通过z-index来控制图片的摆放顺序。(注意:这里的图片一般是通过绝对定位放在一个div盒子里面,图片堆叠在一起)。思路很清晰,那么我们就来看看代码(代码是本人自己手写的)。具体细节我会在代码中一一解释: 只是...

1.事件截获原理利用事件的捕获阶段,添加事件。再利用触发事件元素(e.target)来判断(根据一定的标识或者某些特征)是否是我们需要劫持的dom。2.具体拦截这里使用id作为一个判断根据,真实场景中肯定不是这样的。这里的特征是需要根据一定的规则去寻找的。(这里只是为了演示原理)<!DOCTYPE html><html>   ...

一、让Chrome支持小于12px的文字?图片上的文字假如是10px,我们在网页上实现之后。为啥是12px?其实我们都知道,谷歌Chrome最小字体是12px,不管你设置成8px还是10px,在浏览器中只会显示12px,那么如何解决这个坑爹的问题呢?我们的做法是:针对谷歌浏览器内核,加webkit前缀,用transform:scale()这个属性进行缩放!<style>p ...

ES6(ECMAScript 6)是即将到来的新版本JavaScript语言的标准,代号harmony(和谐之意,显然没有跟上我国的步伐,我们已经进入中国梦版本了)。上一次标准的制订还是2009年出台的ES5。目前ES6的标准化工作正在进行中,预计会在14年12月份放出正式敲定的版本。但大部分标准已经就绪,且各浏览器对ES6的支持也正在实现中。要查看ES6的支持情况请点此。目前想要运行E...

使用!!操作符转换布尔值有时候我们需要对一个变量查检其是否存在或者检查值是否有一个有效值,如果存在就返回true值。为了做这样的验证,我们可以使用!!操作符来实现是非常的方便与简单。对于变量可以使用!!variable做检测,只要变量的值为:0、null、""、undefined或者NaN都将返回的是false,反之返回的是true。比如下面的示例:function ...

阻塞指的是暂停一个线程的执行以等待某个条件发生(如某资源就绪),JS单线程避免阻塞方法:  1.sleep()方法:sleep()允许指定以毫秒为单位的一段时间作为参数,使得线程在指定的时间内进入阻塞状态,不能得到CPU时间,指定的时间一过,线程重新进入可执行状态。  典型地,sleep()被用在等待某个资源就绪的情形:测试发现条件不满足后,让线程阻塞一段时间后重新测试,直到条件满足为止。  2....

扫一扫,加我为QQ好友 加我为QQ好友