遇到的问题(七)

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

posted @ 2017-03-01 13:55  小金鱼紫苏  阅读(102)  评论(0)    收藏  举报