为什么js的switch语句获取的值 和别的函数不一样

代码 如下:
<ul>
<li><a onmouseOver="mouseOver()" onmouseOut="mouseOut()">a<img src="1.png" style="position:absolute; top:-149;x=1;" id="divP" /></a><li>
<li><a onmouseOver="mouseOver()" onmouseOut="mouseOut()">b<img src="1.png" style="position:absolute; top:-149;x=2;" id="divP1" /></a><li>
</ul>
<script type="text/javascript">
function mouseOver(){
var d=(divP1.style.x);
confirm(d);//用confirm 获取x的值为2 是对的
switch (d)//为什么switch 就获取不到
{
case 1:
confirm("1");
break
case 2:
confirm("2");
break
default:
confirm("都不是");
}} 
</script>

为什么confirm获取的到 而switch 却获取不到

慕勒3428872
浏览 576回答 3
3回答

江户川乱折腾

你获得的d是字符串 case里的是数字 执行的当然是default:你可以这样改parseInt(d) 把d转换成int型或者case "2" : case写字符串

RISEBY

js里面传递的参数默认是字符串类型可以声明变量接收参数时转换成为数字类型
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript