加快主页加载速度的优化
今天经理说我们做的这个项目的主页加载速度太慢了,出现空白的时间太长,感觉不好
当时我想到的方法就是缓存图片,然后压缩js和css文件,但是因为用到了ext,所以即使压缩了js文件还是很大,测试后的结果不是很满意,后来我在网上看到了一种方法:就是把所有的js文件通通放到body结束标签的后面,这样页面就不会因为js文件还没有加载完而延时了,据说这是雅虎工程师们的建议哦,测试之后那是相当有效
js中数字字面量的constructor
我们知道js中的所有对象(null和undefined除外)都有一个constructor属性
但是对于数字字面量直接.constructor会报错,像下面这样:
-
alert(1.constructor);
于是我们就变通一下:
-
alert(1['constructor']);
-
//或
-
var n = 1;
-
aiert(n.constructor);
正常了。
今天看到了一篇文章,对第一种情况作出了另一种解释,据说alert(1.constructor)在js引擎中相当于这样:alert(1.0constructor);,当然会报错了,那怎么避免呢?作者给出了一种方法:
-
alert(1..constructor);
-
//或
-
alert(1 .constructor);//1后面有个空格
arguments对象的高级用法
利用javascript函数的arguments对象,结合闭包的特性创建优雅的函数。
废话不多说,直接看例子:
定制执行次数和执行时间间隔的函数:
-
function repeat(fn, times, delay) {
-
return function() {
-
if(times-- > 0) {
-
fn.apply(null, arguments);
-
var args = Array.prototype.slice.call(arguments);
-
var self = arguments.callee;
-
setTimeout(function(){self.apply(null,args)}, delay);
-
}
-
};
-
}
-
function showMsg(s){
-
alert(s);
-
}
调用方式:
js实现消息滚动显示效果
最近的项目中需要实现一个滚动消息的功能,以前在网上也看到了些,但是都不太符合我的需求,于是就自己写了个,效果:
缓动类型:
下面来说说程序的实现思路,最初我设想的是通过改变div的left属性来实现位移的效果,但是在实际操作中发现有一些困难,首先是当消息条目一旦多起来,需要移动的元素就太多了,会造成性能问题,其次每个条目也可能大小不一致,这样还得再程序中修正大小。所以后来我换了一种思路,把滚动消息放在一个表格内,这样只需要移动这个表格就可以了,思路有了,结下了来实现就简单了,程序的构造器接受3个参数,container, num, options,分别是消息包装器,滚动条目,配置选项。
0){>