首页 新闻 会员 周边

javascript 变量判断类型或值出现的bug

0
[已解决问题] 解决于 2016-12-08 11:10

假如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!=""&&param!=undefined){

//代码块 

},代码块竟然执行了。。。。。。为什么。。。。。毁三观啊

问题补充:

换句话说,可以试一下,自己拼一个url比如 “http://****/sakldj.html?param”, 在这个url后面拼一个param的参数,不设置值,获取的时候是undefined,做个if判断if(param!==undefined){alert("竟然不相等???")};这个是为什么呢。。。。。

wll77wang的主页 wll77wang | 初学一级 | 园豆:18
提问于:2016-08-30 18:45
< >
分享
最佳答案
0

typeof(param)呢?

奖励园豆:5
~扎克伯格 | 小虾三级 |园豆:1923 | 2016-08-31 15:09
其他回答(4)
0

试一下'!==',看看行不行

安得浮生半日闲 | 园豆:282 (菜鸟二级) | 2016-08-30 19:08
0

因为你的param不是undefined

 参考链接:http://www.dreawer.com/question/9aa5bd7e632f4590b6f2762fd92bc0de#1996ea1392974518a13638db56589f7f
天下雪 | 园豆:213 (菜鸟二级) | 2016-08-30 19:21
0

你把param输出来看看是什么东西,在考虑业务处理撒

HI_Hub_MI | 园豆:215 (菜鸟二级) | 2016-08-30 19:34

我alert看了值就是undefined.......判断if(param!=undefined)的时候为true。。。。。。。。  

支持(0) 反对(0) wll77wang | 园豆:18 (初学一级) | 2016-08-31 10:06
0

经过debug 发现param的undefined是string字符串。。。。。深坑应当判断 if(param!='undefined'){

这里就不会执行了。。。。

}

wll77wang | 园豆:18 (初学一级) | 2016-08-31 10:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册