随笔分类 - 前端优化
摘要:最近想把项目里添加grunt,说白了就是前端自动化管理,具体配置如下:用到以下几个部件:grunt-contrib-cssmingrunt-contrib-uglifygrunt-contrib-jshintgrunt-contrib-imagemingrunt-contrib-concat这几个应...
阅读全文
摘要:http://se.360.cn/v6/help/meta.html
阅读全文
摘要:1 module.exports = function (grunt) { 2 3 // 构建任务配置 4 grunt.initConfig({ 5 6 //读取package.json的内容,形成个json数据 7 pkg: grunt.file.readJSON('package.json'), 8 9 //压缩js10 uglify: {11 //文件头部输出信息12 options: {13 banner: '/*! ...
阅读全文
摘要:以下加载代码都是基于RequireJS 2.0写的。最近在学习AMD模块开发,RequireJS确实很不错,功能比那啥的“全”。由于是初级阶段,先介绍一下模块加载。目录结构:index.html 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8" /> 5 <title>Beginning Require.JS</title> 6 <script data-main="js/main" src="li
阅读全文
摘要:1 var memoizer = function(memo, fundamental) { 2 var shell = function(n) { 3 var result = memo[n]; 4 if (typeof result !== 'number') { 5 result = fundamental(shell, n); 6 memo[n] = result; 7 } 8 ...
阅读全文
摘要:var memoizer = function(memo, fundamental) { var shell = function(n) { var result = memo[n]; if (typeof result !== 'number') { result = fundamental(shell, n); memo[n] = result; } return result; ...
阅读全文
摘要:1 var serial_maker = function() { 2 //返回一个用来产生唯一字符串的对象。 3 //唯一字符串由两部分组成:前缀+序列号。 4 //该对象包含一个设置前缀的方法,一个设置序列号的方法,和一个产生唯一字符串的 gensym 方法。 5 var prefix = ''; 6 var seq = 0; 7 return { 8 set_prefix: function(p) { 9 prefix = String...
阅读全文
摘要:1 Function.prototype.method = function(name, func) {2 if (!this.prototype[name]) {3 this.prototype[name] = func;4 }5 };具体使用和YUI类似
阅读全文
摘要:1 <!-- TODO:改个测试代码 -->1 // TODO:改个测试代码webstorm的TODO插件可以精确定位所有的TODO
阅读全文
摘要:1 var addHandler = document.body.addEventListener ? 2 function(target, eventType, handler) { 3 target.addEventListener(eventType, handler, false); 4 } : function(target, eventType, handler) { 5 target.attachEvent("on" + eventType, handler); 6 }; 7 8 var removeHandler = document.body.remove
阅读全文
摘要:1 function addHandler(target, eventType, handler) { 2 if (target.addEventListener) { 3 addHandler = function(target, eventType, handler) { 4 target.addEventListener(eventType, handler, false); 5 }; 6 } else { 7 addHandler = function(target, eventType, handler) { 8 target.attachEvent("on" +
阅读全文
摘要:简单的例子:1 for (var i = 0, len = item.length; i < len; i++) {2 process(item[i]);3 }优化条件:1、处理过程是否必须同步?2、数据是否必须按顺序处理?都是否,就看下面的代码: 1 function processArray(items, process, callback) { 2 var todo = items.concat(); 3 4 setTimeout(function() { 5 process(todo.shift()); 6 7 if (todo.length > 0) { 8 setTim
阅读全文
摘要:1 if (!String.prototype.trim) {2 String.prototype.trim = function() {3 return this.replace(/^\s+/, "").replace(/\s+$/, "");4 };5 }67 var str = " \t\n test string ".trim();8 console.log(str == "test string");//true混合解决方案:用正则表达式方法过滤头部空白,用非正则表达式的方法过滤尾部字符。 1 Strin
阅读全文
摘要:1 var str = "I'm a thirty-five character string.", 2 strs = [], 3 newStr, 4 appends = 5000; 5 6 while (appends--) { 7 strs[strs.length] = str; 8 } 9 10 newStr = strs.join("");以上代码为了让IE7或者更低版本的浏览器性能更优。其他浏览器使用以下代码:1 var str = "I'm a thirty-five character string.",
阅读全文
摘要:1 function merge(left, right) { 2 var result = []; 3 4 while (left.length > 0 && right.length > 0) { 5 if (left[0] < right[0]) { 6 result.push(left.shift()); 7 } else { 8 result.push(right.shift()); 9 }10 }11 return result.concat(left...
阅读全文
摘要:1 if (value < 6) { 2 if (value < 3) { 3 if (value == 0) { 4 return result0; 5 } else if (value == 1) { 6 return result1; 7 } else { 8 return result2; 9 }10 } else {11 if (value == 3) {12 return result3;1...
阅读全文
摘要:1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html;ch
阅读全文
摘要:1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html;ch
阅读全文
摘要:1 function toArray(coll) { 2 for (var i = 0, a = [], len = coll.length; i < len; i++) { 3 a[i] = coll[i]; 4 } 5 return a; 6 } 7 8 //用法 9 var coll = document.getElementsByTagName('div');10 var arr = toArray(coll);
阅读全文
摘要:innerHTML: 1 function tableInnerHTML() { 2 var i, h = ['<table border="1" width="100%">']; 3 h.push('<thead>'); 4 h.push('<tr><th>id<\/th><th>yes?<\/th><th>name<\/th><th>url<\/th><th>actio
阅读全文

浙公网安备 33010602011771号