随笔分类 - JavaScript

摘要:一、前言 以下场景往往由于事件频繁被触发,因而频繁执行DOM操作、资源加载等重行为,导致UI停顿甚至浏览器崩溃。 1. window对象的resize、scroll事件 2. 拖拽时的mousemove事件 3. 射击游戏中的mou... 阅读全文
posted @ 2014-12-06 22:53 ^_^肥仔John 阅读(118404) 评论(17) 推荐(25) 编辑
摘要:一、前言 当使用coffeescript书写如下代码时name = person?.name会被预编译为 var name = typeof person !== "undefined" && person !== null ?... 阅读全文
posted @ 2014-12-05 16:22 ^_^肥仔John 阅读(9969) 评论(2) 推荐(4) 编辑
摘要:一、前言 最近在研究Promises/A+规范及实现,而Promise/A+规范的制定则很大程度地参考了由日本geek cho45发起的jsDeferred项目(《JavaScript框架设计》提供该资讯,再次感谢),追本溯源地了解jsDefe... 阅读全文
posted @ 2014-12-05 13:33 ^_^肥仔John 阅读(2434) 评论(0) 推荐(0) 编辑
摘要:原文地址:https://promisesaplus.com/本篇为原文翻译+个人理解,若有谬误请各位指正,谢谢。尊重原创,转载请注明来自:http://www.cnblogs.com/fsjohnhuang/p/4139172.html ^_^肥仔John一个可靠的可共同协作的JavaScript... 阅读全文
posted @ 2014-12-03 15:00 ^_^肥仔John 阅读(6433) 评论(0) 推荐(1) 编辑
摘要:一、前言 Promises/A是由CommonJS组织制定的异步模式编程规范,有不少库已根据该规范及后来经改进的Promises/A+规范提供了实现 如Q, Bluebird, when, rsvp.js, mmDeferred, jQuery.Deffered()等。 虽然上述实现库均以Promi 阅读全文
posted @ 2014-12-02 15:27 ^_^肥仔John 阅读(13604) 评论(4) 推荐(6) 编辑
摘要:一、前言 有限的空间展现无限的内容,这是滚动最常用到的地方。根据信息滚动效果我们可以有很多的实现方式,但HTML自带的marquee标签是其中一个较简单的实现方式。下面记录一下,供日后查阅。二、marquee标签的基础知识 ... 阅读全文
posted @ 2014-10-07 22:11 ^_^肥仔John 阅读(4426) 评论(2) 推荐(0) 编辑
摘要:一、关于鼠标位置的属性 1. 触发鼠标事件的区域 盒子模型中的border,padding,content区域会触发鼠标事件,点击margin区域将不触发鼠标事件。 2. 鼠标事件对象MouseEvent下的属性 [a].evt.pageX/Y :以页... 阅读全文
posted @ 2014-09-28 23:20 ^_^肥仔John 阅读(2442) 评论(0) 推荐(3) 编辑
摘要:一、前言 《 HTML5魔法堂:全面理解Drag & Drop API》中提到从IE5开始已经支持DnD API,但IE5~9与HTML5的API有所不同,下面我们来了解一下吧!二、IE5~9与HTML5的DnD API的不同点 ... 阅读全文
posted @ 2014-09-19 09:10 ^_^肥仔John 阅读(1387) 评论(0) 推荐(1) 编辑
摘要:一、前言 在HTML4的时代,各前端工程师为了实现拖拽功能可说是煞费苦心,初听HTML5的DnD API觉得那些痛苦的日子将一去不复返,但事实又是怎样的呢?下面我们一起来看看DnD API的真面目吧!二、由于篇幅较长,特设目录一陀 ... 阅读全文
posted @ 2014-09-16 21:14 ^_^肥仔John 阅读(22081) 评论(6) 推荐(9) 编辑
摘要:一、前言 在为IE5.5~9polyfill HTML5新特性placeholder时需要阻止元素被选中,因此在网上、书上查阅相关资料,记录在此以便日后查阅。 二、IE10+实现方式──CSS3 user-select: auto; => 用户可以选中元素中的内容 user-select: none 阅读全文
posted @ 2014-08-27 07:38 ^_^肥仔John 阅读(3971) 评论(2) 推荐(1) 编辑
摘要:一、前言 图片上传是一个普通不过的功能,而图片预览就是就是上传功能中必不可少的子功能了。在这之前,我曾经通过订阅input[type=file]元素的onchange事件,一旦更改路径则将图片上传至服务器,接着就获取图片路径并赋值到im... 阅读全文
posted @ 2014-08-21 10:27 ^_^肥仔John 阅读(19144) 评论(9) 推荐(4) 编辑
摘要:一、前言 上周五公司内部的Any Topic Conf.上我和同事们分享了这个主题,有同事说这个有用,有同事说这个没啥用,后来还延伸到网站性能的话题上,大家讨论的激烈程度让我觉得这次选题还不错。本篇先不管到底有用与否,仅仅记录理论知识。... 阅读全文
posted @ 2014-08-12 12:32 ^_^肥仔John 阅读(6646) 评论(1) 推荐(0) 编辑
摘要:一、前言 当写模块加载器时,获取当前脚本文件的绝对路径作为基础路径是必不可少的一步,下面我们一起来探讨一下这个问题吧!二、各大浏览器的实现方式 [a]. Chrome和FF 超简单的一句足矣!var getCurrAbs... 阅读全文
posted @ 2014-08-11 10:34 ^_^肥仔John 阅读(9269) 评论(4) 推荐(2) 编辑
摘要:一、前言 或许你和我一样都曾经被下面的代码所困扰var el = document.getElementById('dummy');el.hello = "test";console.log(el.getAttribute('hello... 阅读全文
posted @ 2014-07-20 15:19 ^_^肥仔John 阅读(5667) 评论(2) 推荐(5) 编辑
摘要:一、前言 大家先看看下面的js,猜猜结果会怎样吧! 可选答案: ①. 获取id属性值为id的节点元素 ②. 抛namedItem is undefined的异常var nodes = document.getElements... 阅读全文
posted @ 2014-07-11 10:58 ^_^肥仔John 阅读(6433) 评论(2) 推荐(1) 编辑
摘要:一、前言 什么是doctype?其实我们一直使用,却很少停下来看清楚它到底是什么,对网页有什么作用。本篇将和大家一起探讨那个默默无闻的doctype吧!二、什么是doctype doctype或DT... 阅读全文
posted @ 2014-07-10 12:54 ^_^肥仔John 阅读(1658) 评论(0) 推荐(0) 编辑
摘要:一、前言 从IE8开始引入了文档兼容模式的概念,作为开发人员的我们可以在开发人员工具中通过“浏览器模式”和“文档模式”(IE11开始改为“浏览器模式”改成更贴切的“用户代理字符串”)品味一番,它的出现极大地方便了苦逼的前端攻城狮们适配各版本的IE,但jser们也不能完全信任它,因为它只是提供尽可能的 阅读全文
posted @ 2014-07-02 23:23 ^_^肥仔John 阅读(9793) 评论(5) 推荐(7) 编辑
摘要:一、前言 苦逼的前端攻城狮都深受浏览器兼容之苦,再完成每一项功能前都要左顾右盼,生怕浏览器不支持某个API,生怕原生API内含臭虫因此判断浏览器类型和版本号成了不可绕过的一道关卡,而特征嗅探是继浏览器探测后另一利器处理上述问题。二、何为特征... 阅读全文
posted @ 2014-07-01 21:57 ^_^肥仔John 阅读(4506) 评论(4) 推荐(1) 编辑
摘要:一、前言 首先这里说的原始选择器是指除querySelector、querySelectorAll外的其他选择器。从前我只使用getElementById获取元素并没有觉得有什么问题,但随着参与项目的前... 阅读全文
posted @ 2014-06-30 10:39 ^_^肥仔John 阅读(3232) 评论(4) 推荐(1) 编辑
摘要:原文地址:https://github.com/airbnb/javascript/issues/21#issuecomment-10203921一、写在前面 本文将一如既往地遵循从自身理解出发,而非100%按原文逐句翻译的方式进行“伪翻译”,若有谬误请各位指正,谢谢!!二、介绍 IIFE(th... 阅读全文
posted @ 2014-05-27 23:06 ^_^肥仔John 阅读(829) 评论(0) 推荐(0) 编辑