遇到的问题(七)

一:当使用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})$/

原文地址:https://www.cnblogs.com/yuanyuan0809/p/6483937.html