javascript - jarry - 我想去非洲

加快主页加载速度的优化

今天经理说我们做的这个项目的主页加载速度太慢了,出现空白的时间太长,感觉不好

当时我想到的方法就是缓存图片,然后压缩js和css文件,但是因为用到了ext,所以即使压缩了js文件还是很大,测试后的结果不是很满意,后来我在网上看到了一种方法:就是把所有的js文件通通放到body结束标签的后面,这样页面就不会因为js文件还没有加载完而延时了,据说这是雅虎工程师们的建议哦,测试之后那是相当有效

js中数字字面量的constructor

我们知道js中的所有对象(null和undefined除外)都有一个constructor属性

但是对于数字字面量直接.constructor会报错,像下面这样:

  1. alert(1.constructor);

于是我们就变通一下:

  1. alert(1['constructor']);
  2. //或
  3. var n = 1;
  4. aiert(n.constructor);

正常了。

今天看到了一篇文章,对第一种情况作出了另一种解释,据说alert(1.constructor)在js引擎中相当于这样:alert(1.0constructor);,当然会报错了,那怎么避免呢?作者给出了一种方法:

  1. alert(1..constructor);
  2. //或
  3. alert(1 .constructor);//1后面有个空格
这样就相当于alert(1.0.constructor)了,呵呵,是不是很邪恶?

arguments对象的高级用法

利用javascript函数的arguments对象,结合闭包的特性创建优雅的函数。

废话不多说,直接看例子:

定制执行次数和执行时间间隔的函数

  1. function repeat(fn, times, delay) {
  2.   return function() {
  3.     if(times-- > 0) {
  4.       fn.apply(null, arguments);
  5.       var args = Array.prototype.slice.call(arguments);
  6.       var self = arguments.callee;
  7.       setTimeout(function(){self.apply(null,args)}, delay);
  8.     }
  9.   };
  10. }
  11. function showMsg(s){
  12.     alert(s);
  13. }

 调用方式:

继续阅读

js实现消息滚动显示效果

最近的项目中需要实现一个滚动消息的功能,以前在网上也看到了些,但是都不太符合我的需求,于是就自己写了个,效果:

内存泄露的问题一直以来都不受到大家的重视,但是浏览器对代码的解析可能造成效率问题
2009-08-03 13:32:56
内存泄露的问题一直以来都不受到大家的重视,但是浏览器对代码的解析可能造成效率问题
2009-08-03 13:32:56
内存泄露的问题一直以来都不受到大家的重视,但是浏览器对代码的解析可能造成效率问题
2009-08-03 13:32:56
内存泄露的问题一直以来都不受到大家的重视,但是浏览器对代码的解析可能造成效率问题
2009-08-03 13:32:56
内存泄露的问题一直以来都不受到大家的重视,但是浏览器对代码的解析可能造成效率问题
2009-08-03 13:32:56
内存泄露的问题一直以来都不受到大家的重视,但是浏览器对代码的解析可能造成效率问题
2009-08-03 13:32:56
1 2 3 4 5 6

 

 

 

 

 

 

缓动类型:

下面来说说程序的实现思路,最初我设想的是通过改变div的left属性来实现位移的效果,但是在实际操作中发现有一些困难,首先是当消息条目一旦多起来,需要移动的元素就太多了,会造成性能问题,其次每个条目也可能大小不一致,这样还得再程序中修正大小。所以后来我换了一种思路,把滚动消息放在一个表格内,这样只需要移动这个表格就可以了,思路有了,结下了来实现就简单了,程序的构造器接受3个参数,container, num, options,分别是消息包装器,滚动条目,配置选项。

继续阅读