一:当使用this为参数函数间传递时
$("select p a").bind("click",function(){
call(this);
});
function call(obj){
var status=$(obj).attr("data-num");
console.log(status)
}
二:声明会提升,函数表达式不会被提升当同时存在函数声明和变量声明时,函数声明会优先
三:eval欺骗
var b=2;
foo("var b=3","1") //3,1
function(str1,str2){
eval(str1);//欺骗
console.log(str1,str2)
}
这段代码实际上在foo(……)内部创建了一个变量b,并遮蔽了外部变量作用域中的同名变量,永远也无法找到外部的b,所以eval()使用时存在安全隐患。
四:with声明实际上是根据你传递给它的对象凭空创建一个全新词法作用域(泄漏到全局作用域)。
五:常用正则
1.1-100之间的正整数
/^(([1-9]d?)|100)$/
2.20个以内的文字
/^[u2E80-u9FFF]+$/
3.50个内所有字符
/^.{1,50}$/
4.字母加数字
/^w{1,50}$/
5.总20位,小数点后占两位
/^[0-9]{0,18}(|.[0-9]{0,2})$/