01 2015 档案
摘要:简述 我们都知道无法通过delete关键字针对变量和函数进行操作,而对于显示的对象属性声明却可以进行,这个原因需要深究到js的实现层上去,让我们跟随 Understanding delete 来探究一番,另外本文并不考虑浏览器的兼容性实现问题。理论 为什么我们可以这样: var o = { x:...
阅读全文
摘要:David Flanagan最近写了一个关于全局eval的简单表达式,可以用一行式子表示:var geval = this.execScript || eval; 尽管看起来很简短,但是跨浏览器的兼容性并不好。仔细考虑了下这个话题,我觉得还有一些方法来实现代码的全局执行。而且有些方法--间接eval...
阅读全文
摘要:Gradient Filter和AlphaImageLoader Filter 这两个属性是legend IE(IE6,7,8)中的渐变滤镜和透明滤镜,我们先详细介绍下这两个属性的用法,详情可查看MSDN。 透明滤镜的使用方式很简单,只需在样式中定义 "filter:progid:DXIm...
阅读全文
摘要:outline属性有什么作用 原文链接 a{outline:none} do not do it 当用户使用tab键进行链接切换时,该属性会在当前选中的链接(获得焦点)使用该属性,一般来说是虚线框的长方形。这对于没有使用鼠标输入的用户而言尤其有用,它可以作为视觉反馈来告知用户当前的输入。所以说如...
阅读全文
摘要:介绍 闲来无事,去了CSS3Plus网站逛了逛,发现了一个很有意思的实现--css3实现进度条。粗略看了下代码,发现原理其实很简单,不难理解。现在在此讲述下原理并实现一个1s更新的进度条。 技术细节是这样的:进度条由两个半圆环组成,首先我们的任务是实现左右两个半圆环。圆环可以用border-ra...
阅读全文
摘要:CSS3的3d变换 CSS3给我们提供了一个新的功能,那就是3d变换。3d变换和2d变换的基本API函数类似,只不过多了些在Z轴上的操作,不难使用。 但是,为了让元素拥有3d变换的功能,我们需要给他的父元素设置相应的变换属性。与其相关的属性为perspective和transform-style。在...
阅读全文
摘要:无奈的开头 关于DOM节点操作,如果仅仅是根据标准API来操作,那是最简单不过的了。但是现实中却哪有这么容易的问题让我们解决,其实不仅仅是节点的克隆与删除,节点的添加也是如此,而且添加节点需要考虑的情况更多,这里不详细讲解,只说明大概过程。 问题那么多,主要出现在浏览器自身实现上,其中尤属legac...
阅读全文
摘要:简介 异步回调的书写往往打乱了正常流的书写方式,在ECMAScript 6中实现了标准的Promise API,旨在解决控制回调流程的问题。 简单的实现了Promise API: 1 (function(w){ 2 function Promise(f...
阅读全文
摘要:简介 在HTML中,我们可以将js嵌入到script标签中,可以嵌入到行内代码中,也可以嵌入到src(href)中。后者称作javascript URL。该方式的URL格式固定:javascript:expression。 其中,expression字符串必须能够被解释器所解析执行,执行结果若为...
阅读全文
摘要:简介 当前主流的视频网站目前有不少新鲜好玩的功能,最明显的莫过于小视频的显示--当视频不在当前视口范围时,会在右下角用一个小窗口来显示当前的视频,而且可以拖拽。 今晚心血来潮,起了动手试试的念头。我的想法很简单,用canvas来获取视频每一帧的数据,并用动画函数requestAnimationF...
阅读全文
摘要:简介 IE6实现了鼠标滚轮事件mousewheel,这个事件包含了一个鼠标事件所没有的属性,wheelDelta,这个属性值始终是120的倍数,而且向上滑动一单位,wheelDelta值为120,向下为-120.随后Chrome,Opera,Safari等也都实现了该事件。Opera10之前的版本...
阅读全文
摘要:简介 Blob在js中意味着二进制大数据。实现该接口的对象有3个属性,分别是type(MIME),size(byte)和一个切割方法:slice(在大文件分片上传可能用到)。另外,File实现了Blob接口,并且还有额外的属性--name和lastModify。 早起的一些浏览器实现了草案(已废...
阅读全文
摘要:简介 js中很容易出现全局变量污染的情况,全局变量需要依赖全局环境的命名空间,如果为了避免这种情况,大多数采用多重命名空间的方式来定义变量,但是此种方式名称长度长,解析效率低。因此,可以采用一种沙箱模式来管理我们的代码。 该模式创建了一个新的环境变量,所有的变量在该环境内可访问,环境外不可访问(...
阅读全文
摘要:简述 在《JavaScript高级程序设计(第三版)》中,提到WebWorker的importScripts方法是异步执行的,然而在另一本书《Javascript权威指南》中,却说importScripts是一个同步方法,两者矛盾,故私底下测试一番,发现该方法确实是同步执行,待所有js问价解析执行...
阅读全文
摘要:简述html5新添加的canvas API可以让我们对画布进行开发应用,典型的是可以使用canvas截图或者手工绘制“迷你图”(即嵌入在文本中的高清小图片)。实现截图的方法很简单,就是创建一个canvas并用drawImage来获取该时刻视频帧,并使用canvas的toDataURL转换成data ...
阅读全文