您正在查看 "javascript&web2.0" 分类下的文章
2007年10月16日 星期二 下午 04:45
如何跨越原形链调方法
我们知道js对象很多属性方法都不是自己的,也就说都不是早绑定上去的,比如"aa"有很多方法,当然它是基本类型,不是对象,但是js由于有String Boolean Number这三个影子wrapper所以基本类型也可变对象,与本文无关,本文讲的是怎么跨原形链调用函数,比如
a=[1,2,3];alert(a); 看到的是1,2,3,其实这个不是a对象的toString方法,是在Arry.prototype.toString上面的,这个我们也知道,但是现在我就是想实现不走它,而调用Object.prototype.toString,可能有朋友说是不是delete(Array.prototype.toString)不 |
2007年10月16日 星期二 下午 04:24
最近做了个测试,在firefox 2.0上
代码1:
代码
- function a(){var t=new Date().getTime();var re=[];for (var i=0;i<30000;i++){re[i]=
|
2007年10月16日 星期二 上午 10:56
今天遇到几个正则表达式
^[0-9]{15|18}$
^\d{15}|\d{18}$
^(\d{15}|\d{18})$
^\d{15}$|^\d{18}$
起因是要匹配什么身份证,第一个是个大概不怎么懂正则的人写的,在{}里面写|,根本不能这么写,{}里面要么写个数,要么2,4这样,2次到4次,好看第二个
貌似很正确,但是经测试,却发现匹配16位数字也可以,为什么,仔细分析语义|前面是^\d{15}后面是\d{18}$就是说什么意思呢,只要开头15位数字或结尾18位数字都可以,那16位匹配就很正常了,看第三个
第三个加了个括号,这样就不一样了,(\d{15}|\d{18})就是一 |
2007年10月15日 星期一 下午 08:38
今天群里一朋友说svg里面脚本能不能访问页面属性,我好奇问之,svg里面可以写脚本?我不了解svg,那朋友告诉我可以,但是不给我例子,我就自己找,找到了一个带脚本的svg:
代码
|
2007年10月14日 星期日 下午 12:49
今天看见段代码是
代码
- function String.prototype.s2t (){
- .....
- }
这样书写的,看着很奇怪,感觉就是for ie的,一看果然,ff不支持这样报告语法错误,没有结素,但是ie可以,所以就进行了下测试
|
2007年10月13日 星期六 下午 04:22
最近读了关于dustin diaz写的关于xhr包装的文章,有些心得,文章:
Sunday, September 30th, 2007
Sometime ago I was messing around with various techniques for ways that we can optimize asynchronous calls to the server via XMLHttpRequest (and the ActiveX equivalent of X |
2007年10月13日 星期六 下午 03:09
2007年10月12日 星期五 下午 09:14
原来的Prototype支持Class,大概就是下面这样
代码
- var PeriodicalExecuter = Class.create();
- PeriodicalExecuter.prototype = {
- initialize: function(callback, frequency) {
-
|
2007年10月11日 星期四 下午 07:48
一般判断浏览器是通过一些特殊的dom api差异在ie ff上面,比如ie的document.uniqueId或者useragent什么的,但是今天看john resig视频发现type text/jquery浏览器不执行,那text/jscript text/ecmascript呢,实验结果ecmascript都支持.但是jscript只有ie认,ff不认,那其实一些代码就可以放在text/jscript里面,ff就不会执行了 |
2007年10月11日 星期四 下午 06:48
发现一个ie opera的bug,就是关于getElementsByTagName的
<input id="length" value="22" type="text" />
<input id="aaa" name="bbb" type="reset" />
<script>
alert(document.getElementsByTagName("input").length)
</script>
getElementsByTagName返回的集合是可以用id或name再获取对象的,当然index也可以,但是如果存在一个id叫length的元素,那本身的length属性就被覆盖了,就无法遍历了,非常严重的bug,因为这样你也不知道有多少个元素,opera兼容ie,当然也就跟着bug了 |
|
| |