this与使用指定外部环境对象
this在js中是指运行时作用域的那个对象,如确保运行在指定的obj作用域下,原理是:func.apply(obj,arg),具体参考:http://api.prototypejs.org/language/Function/prototype/bind/
undefined的使用
var message;
alert(message == undefined); //true
在ie78中element.scrollLeft=0时,element.scrollLeft的值却是undefined。scrollTop也一样。hack??
XX({a:'str'}),那么typeof o.a可用,o.a instanceof String不可用???why?
js Regepx
1 分组的时候,?可以不记录一些组,比如:
var str="abc";
var reg=/(?:a)b(c)/g
reg.test(str);
alert(RegExp.$1);//结果为c
此时虽然第一个小括号也满足,但是如果用?:标注之后,它不会被存入正则表达式的缓存中。
var reg=/(?:a)b(c)/g
reg.test(str);
alert(RegExp.$1);//结果为c
2 遇见功能,"?=",意识说目标串中肯定存在什么,比如:
var str="ab4";
var reg=/ab(?=\d)/g
alert(reg.test(str));//结果为true
意思是第三位肯定是数字;
var reg=/ab(?=\d)/g
alert(reg.test(str));//结果为true
"?!",意思说目标串中不应该存在什么
var str="ab1";
var reg=/ab(?!\d)/g
alert(reg.test(str));//结果为false
意思是目标串中的第三位不应该是数字。
var reg=/ab(?!\d)/g
alert(reg.test(str));//结果为false
参考:http://www.blogjava.net/landor2004/archive/2011/03/02/345500.html
递归调用注意:使用function aa(para){ /*你的代码*/return arguments.callee(para);}