摘要:
IE6 IE7 IE8(Q) 在某些情况下 DOM 元素的 offsetTop、offsetLeft 的返回值参照元素以及 offsetParent 为距离其最近的触发了 hasLayout 的祖先级元素http://w3help.org/zh-cn/causes/SD9018#impacted_browsers 阅读全文
摘要:
Array.prototype.random=function(){ for(var i=0;i<this.length;i++){ var iNum=parseInt(Math.random()*this.length); var oNow=this[i]; //在未进行替换操作前记录下当前数组项 this[i]=this[iNum]; this[iNum]=oNow; } return this;};var arr1=[1,2,3,4,5,6,7,8,9,10];var arr2=['北京','天津','上海'... 阅读全文
摘要:
需要用到这种效果,但是看到网上找的写得又太高深,干脆就自动动手了,,哈哈。。。先写了个二级的,三级的原理也是一样的啦,不过目前我都没用到它。。。打个包给分享给需要的朋友吧,一定要location_cn.js才能用哦。。。下载<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/19 阅读全文
摘要:
1.字符串重复字符保留一位//要求:将重复的字符保留一位var str= "aaaebbbcccdddgggg";var oReg=/(.)\1+/g; //这里的\1是对()里的任何一个字符的反向引用,也就是第2位的字符与第1位重复的才能匹配到,+表示该重复的字符可以出现一次或者多次。//alert(str.match(oReg));document.write(str.replace(oReg,'$1'));2.字符串所有单词首字母大写var str='aaa bbb ccc dddddd';var oReg=/\b\w+\b/g;doc 阅读全文
摘要:
1、对象的继承,一般的做法是复制:Object.extendprototype.js的实现方式是:Object.extend = function(destination, source) { for (property in source) { destination[property] = source[property]; } return destination; }除此之外,还有种方法,就是:Function.apply(当然使用Function.call也是可以的)apply方法能劫持另外一个对象的方法,继承另外一个对象的属性Function.apply(obj,args)... 阅读全文
摘要:
实现递归的算法大家都是很熟悉的,比如一个求0到n的和的递归函数如下:varfn=function(n){ if(n>0)returnn+fn(n-1); return0; } alert(fn(10))当然这是一个很简单的函数,如果在一个很复杂的程序中我们可能只需要调用一次该函数,为了函数的精简我们当然要努力较少函数名的定义,这是很自然会想到用匿名函数来直接执行。但是如果是匿名函数如何实现递归?arguments.callee正好派上用场,他指代的就是当前执行的函数的引用。利用匿名函数实现的递归如下:vars=(function(n){ if(n>0)returnn+argumen 阅读全文
摘要:
//要求:将字符串 8/10/2013 转为 2013-10-8var str='8/10/2013';//使用()分别创建分组,序号分别对应的就是 $1, $2 ,$3//var oReg=/(\d)\/(\d\d)\/(\d\d\d\d)/;//当然也可以用量词方便些var oReg=/(\d)\/(\d{2})\/(\d{4})/;oReg.test(str);//alert(str.match(oReg)); //返回整个字符串 8/10/2013//alert(RegExp.$1); //8 //访问分组1,返回 8//alert(RegExp.$2); ... 阅读全文
摘要:
非捕获性分组:创建反向引用的分组,这种分组一般称为捕获性分组。同时也存在一种非捕获性分组。它不会创建反向引用,因为在比较长的正则表达式中,分组多了会很影响效率。所以使用非捕获性分组。创建非捕获性分组是这样的(?:开始然后写表达式。例如:var str='#123456';//var oReg=/#(\w+)/g; //()的作用有多种,其中一咱就是捕获性分组,有些书上也称做“反向引用”,var oReg=/#(?:\w+)/; //非捕获性分组 ,在()左边添加 ?:alert(oReg.test(str)); //truealert(RegExp.$1); // '& 阅读全文