这个不是最后一句 这个代码 其实是这样看
function(p,a,c,k,e,d) {这里是函数内容}('1("0")', 2, 2, 'OK|alert'.split('|'), 0, {})
也就是说 ('1("0")', 2, 2, 'OK|alert'.split('|'), 0, {})
这个是 函数 function(p,a,c,k,e,d) 的 五个参数
也就是
p='1("0")'
a=2
c=2
k='OK|alert'.split('|')
e=0
最后一个{} 是一个空对象
如果不好理解的话。。这样看
<script type="text/javascript">
var a=function(b,c,d){
alert(b+c+d)
}
a("我","爱","你")//弹出“我爱你"
</script>
接着我们换成上面的写法,不用 变量 a直接 把
a=function(b,c,d){
alert(b+c+d)
}
代入到 a("我","爱","你")
则有
<script type="text/javascript">
(function(b,c,d){
alert(b+c+d)
})("我","爱","你")//弹出“我爱你"
</script>
接着变 为 你代码里的那个形式 ,eval用来计算执行
<script type="text/javascript">
eval(function(b,c,d){
alert(b+c+d)
}("我","爱","你"))//弹出“我爱你"
</script>
至于卡巴报毒
是因为很多病毒木马的JS文件采用了这种压缩方法。
所以卡巴根据特征码误报也很正常 ~~
图片提交form:然后js有验证为:
//报名验证
function checksub(form){
if(条件){ //判断是否登录
showModeWindow()//弹出登录框
return false
}
if(条件){ //登录是否输入姓名
alert("请填写真实姓名!")
$("#realname").focus()
return false
}
return ture
}
就这样,就是登录必须登录,并且输入了姓名后,才能提交表单。项目正常用了一段时间,没任何问题,可是有一天,客户突然问题,为什么报名表中有一
条数据没有用户姓名,我就觉得奇怪,就又返回测,怎么测,都会正常提交先登录,或是输入姓名。我百思不得其解。
所以,我都视这个问题为一灵异现象,直至今天,我的网速不好,我再次瞎点,真还发现我自己都提交了一报名信息。再试,再发一个问题,就是页面刚刚加载出提
交按键时,我就点击那个提交按钮,这时,js会发生一个错误,但瞬间就没了,因为页面已经转到报名结果页面。呵,这家伙,这我才明白,原来,网速不好,页
面加载慢,在页面刚加载到提交按钮时,我就点击提交,js验证到用户并未登录,所以执行
showModeWindow(),可是此时,这个弹出框相关的东
西还没有加载完毕,就会找不着相应对象,故产生js异常。而可罪恶的submit类型提交按钮,会忽略掉js异常,直接提交表彰。以后出理所谓的“灵异现
象”。
于是,当即改之如下:
js改为:
function checksub(){
if(条件){ //判断是否登录
showModeWindow()//弹出登录框
return
}
if(条件){ //登录是否输入姓名
alert("请填写真实姓名!")
$("#realname").focus()
return
}
$("#campaignFrom").submit()//提交表单。
}