假如web中的window.location.href='http://**********?param=abc';当使用js代码的获取param这个参数时候,此处省略splite以及截取url代码,我使用param=decodeUri(param)获取到之后,判断其类型为string。如果url为window.location.href='http://**********?par'的时候,还是使用param=decodeUri(param)获取,结果也是设想的,为undefined. 可是bug就来了 我判断if(param!=""&¶m!=undefined){
//代码块
},代码块竟然执行了。。。。。。为什么。。。。。毁三观啊
换句话说,可以试一下,自己拼一个url比如 “http://****/sakldj.html?param”, 在这个url后面拼一个param的参数,不设置值,获取的时候是undefined,做个if判断if(param!==undefined){alert("竟然不相等???")};这个是为什么呢。。。。。
typeof(param)呢?
试一下'!==',看看行不行
因为你的param不是undefined
你把param输出来看看是什么东西,在考虑业务处理撒
我alert看了值就是undefined.......判断if(param!=undefined)的时候为true。。。。。。。。
经过debug 发现param的undefined是string字符串。。。。。深坑应当判断 if(param!='undefined'){
这里就不会执行了。。。。
}