日期:2014-05-16 浏览次数:20334 次
最近在看系统,学习前辈的杰作,看到点有趣的js调用。jsp文件中脚本
if(passwordReg&&!passwordReg(password)){……}
?
仔细查看,发现根本没有passwordReg这个变量,只找到一个passwordReg.js文件,代码如下:?
?
//对外接口 function passwordReg(v){ var regFun = reg1,flag;//默认通过 if(regFun){ flag = regFun(v); } return flag==null?true:flag; } //对外信息 var passwordMaskMsg; //密码校验实体:大于等于6位不能是单纯的数字 function reg1(v){ passwordMaskMsg = "新密码必须大于5位/不能使用纯数字"; return v.length>=6&&!/^[0-9]*$/.exec(v); } //不校验 function reg2(v){ return true; }
?
看了半天,算是有点明白了.
?
javascript的核心是一个 面向对象 的语言。
?
if(passwordReg&&!passwordReg(password)){……}
先看是否有这个函数,再执行这个函数,看返回值;在执行函数的时候,var regFun = reg1,flag实际上相当于:
?????? var flag; var regFun = reg1;
?
?
?
这个问题算是弄明白了,但之前遇到的在给按钮写点击等响应事件函数时候,响应函数是否加引号,是否加参数,是否加括号……还有点儿迷糊,不知道有没有哪位大佬帮小弟解惑,不胜感激!