Javascript模块化开发(二)——AMD 规范

Javascript模块化开发(二)——AMD 规范

像java有import模式可以引入其他人的开发的模块,而javascript没有。在javascript还没有官方模块化规范之前,CommonJS的目标是填补这个空缺。

node.js的模块系统,就是参照CommonJS规范实现的。在CommonJS中,有一个全局性方法require()就是用于加载模块。

CommonJS

CommonJS 标准大致如下:

全局变量 exports:导出模块

阅读更多»

HTML 5的革新——HTML5 classList

HTML 5的革新——HTML5 classList

曾经编写DOM函数库关于类名的方法时,发现不管是增加类名、删除类名还是更高端一点的切换类名、替代类名,有一个问题始终得是解决:就是类名是否存在类名属性中。而解决方法不外乎JS自身的字符串方法或者利用正则匹配,你是不是也觉得很麻烦。不过在支持HTML5新增的API:classList ,这个问题已经不存在了。

浏览器兼容情况

classList出来也很久了,所以 PC上FireFox、Chrome

阅读更多»

JavaScript欲速则不达——时间函数

JavaScript欲速则不达——时间函数

异步而非线程

曾经我一直以为使用setTimeout()、setInterval()、XMLHttpRequest 和事件处理程序等能让javascript异步执行,不阻碍脚本运行,就是多线程运行了。后来发现原来这原来都是假象。

假设有两个setTimeout(),如下:

alert(time1); // undefined
var time = setTimeout(function()

阅读更多»

JavaScript欲速则不达—Cookie

JavaScript欲速则不达—Cookie

Cookie是先如今客户端存数数据最主要的手段,跟HTML5中的localStorage和Web Sql主要区别就是:localStorage和Web Sqls是将数据保存在客户端,不跟服务端交互;而Cookie是页面跟服务器端互相传递信息。

由于Cookie的诸多限制,平时自己对cookie的使用也不是很多,前几天做项目用到,所以整理下,以免以后又忘记。

Cookie的组成

首先我们得清楚浏览

阅读更多»

defer、async属性以及JS异步加载并执行解决方案

defer、async属性以及JS异步加载并执行解决方案

优化脚本文件的加载提高页面的加载速度,一直是前端工程师提高页面加载速度很重要的一条。因为涉及到各个浏览器对解析脚本文件的不同机制,以及加载脚本会阻塞其他资源和文件的加载。当浏览器解析器遇到<script>时,会立即加载(加载:下载,解析和执行),浏览器对其他资源和文档的加载会停止。为了提高页面的加载速度,得让JS不阻塞其他资源的加载。

Webkit 和 Firefox 对JS的执行过程进行了优

阅读更多»

onload事件以及DOMReady事件兼容方案

onload事件以及DOMReady事件兼容方案

曾经刚做前端时,再加上浏览器对js兼容性很不熟悉,所以很长一段时间都是用jquery,写一些简单的交互效果快速而绚丽。其中$(document).ready(function(){ ... });是在所有js代码前首先会写的,只知道这个方法是对onload事件的替代方法,当时在我心中就是将onload等于jquery的ready事件的,后来才知道它们是两个不同的事件,JQ的ready事件比onlo

阅读更多»

主流框架中DOMContentLoaded事件的实现(转载)

主流框架中DOMContentLoaded事件的实现(转载)

在实际应用中,我们经常会遇到这样的场景,当页面加载完成后去做一些事情:绑定事件、DOM操作某些结点等。原来比较常用的是window的onload事件,而该事件的实际效果是:当页面解析/DOM树建立完成,并完成了诸如图片、脚本、样式表甚至是iframe中所有资源的下载后才触发的。这对于很多实际的应用而言有点太“迟”了,比较影响用户体验。为了解决这个问题,FF中便增加了一个DOMContentLoad

阅读更多»

JavaScript欲速则不达——事件对象和事件委托

JavaScript欲速则不达——事件对象和事件委托

基本处理事件详解和阻止事件传播中,我们知道了事件处理程序,今天我们来认识DOM中的事件对象和事件委托。

在触发 DOM 上的某个事件是,会产生 event 事件对象,这个对象包含着所有与事件有关的信息。而且不管是使用DOM0级或DOM2级都会传入 event 对象,只是支持方式不同。虽然DOM和IE中evnet对象不同,但它们之间还是有很多相似性的,所以依旧可以拿出跨浏览器的解决方案来。

在访问

阅读更多»

上一页 1 2 3 下一页