Monthly Archives: 四月 2010

嘀咕怪兽宣传片

嘀咕宣传片,感觉节奏快了点,不过挺有创意。 我在嘀咕:@Foxling,欢迎跟随交流。

js在IE下获取background-position的问题

通过 jQuery 获取 background-position 的值时,在 IE 中返回 undefined 通过测试,发现无论是写在样式表中,还是写在元素style属性里,在 IE ( 6, 7, 8 ) 里获取background-position的值时,均返回undefined。 针对IE的这个bug,写了如下方法获取background-position的值: 请忽略getCSS方法,这是一个简易的获取css的方法,并不完善,了解不同浏览器获取CSS的方法 var getCSS = function(){ var rdashAlpha = /-([a-z])/ig, fcamelCase = function( all, letter ) { return letter.toUpperCase(); }; return function(el, name){ if (typeof el === ‘string’) el = document.getElementById(el); var cssValue, camelCase = name.replace(rdashAlpha, fcamelCase); if (el.currentStyle){ [...]

Math.PI与++运算符

遇到一道题目: var a = Math.PI++, b = ++Math.PI; alert(a); alert(b); alert(Math.PI); 不加思索的写下: 3.14 4.14 3.14 后来经常提醒才想到Math.PI是常量,修改一个常量的值,会抛出错误。 而上面的操作中,b = ++Math.PI 可以理解为将Math.PI递增加1,并且赋值给变量 b; 这时候开始迟疑了: 在javascript中,给常量赋值是否会抛出错误呢?

浏览器本地存储(1)

浏览器存储方式主要下面几种: Cookie4096字节;缺点:存储量小,请求头附带cookie带来性能问题。 Flash Share Object默认支持100k,跨浏览器存储最好的方式,毕竟现在没有安装flash插件的用户是很少的;缺点:需要加载一个swf文件,个别用户不支持flash。有一个基于jQuery的插件叫 jStore ,就是通过Flash Share Object实现的。 IE的 UserData最少也能支持640k,IE8后已经支持DOM Storage;缺点:IE only。 DOM Storage默认支持5M存储量;缺点:IE7,IE6不支持。 Google Gears功能最强;缺点:但需要安装软件,而且,安装的用户是较少的。 这里主要学习 IE 的 UserData 和 DOM Storage

Javascript Array 性能测试

array.push优化 原生的方法arr.push() 通过arr[arr.length]直接赋值 把方法二写成一个函数方便调用 测试结果请猛击这里: /examples/2010/03/array-performance/push.html 测试结果: 给arr[arr.length]直接赋值比push方法快 函数调用增加了开销,特别是在IE6和opera下表现明显 Chrome应该是做了优化,相差不大 待续(也许) =,=…….