<a id="A" onmouseOver="mouse()">bb</a>
<a id="A" onmouseOut="mous(1)">bv</a><script type="text/javascript">
function mouse(){
var x="5";
mous(x);
}function mous(b,a){ //这里为什么就取得到在mouse里面定义的5 在 mous(1)里面的1 却没显示 显示结果为什么为空 点击 bv的时候 却是NaN 这样 mous 如何获取mouse里面的变量x 同时又可以取得 mous(1)里面的1?
alert(b+a); }
</script>
参考一下之前看书写的一些东西吧加性运算符
如果有一个操作数是NaN,则结果为NaN
关键是查看一下数字,字符串这样的在未定义时,会被变成什么。
上面的文章中看有没有,没有就自己总结一下吧。
希望对你这个问题有帮助。
因为你触发mouse时候定义了x="5",在mouse中调用mous("5",undefind),取得的当然是"5",和1无关
1只有在你鼠标离开bv时候才取得,1是整型,你只传递了一个参数,这时mous(1,undefind),1+undefind是NaN,所以弹出的是NaN这样 mous 如何获取mouse里面的变量x 同时又可以取得 mous(1)里面的1?
想这样可以用全局变量,在mouse里面给x赋值,在bv里调用alert(b+x),注意你这里的5是字符串,做加法的话是字符串操作<script>
var x;
function mouse(){
x="5";
mous(x);
}
function mous(b,a){
a=x;
alert(b+a); } </script>
<script type="text/javascript">
var x,y;
</script>
<a id="A" onmouseOver="mouse()">bb</a>
<a id="A" onmouseOut="mous(1)">bv</a>
<script type="text/javascript">
function mouse(){
x=5;
if(y!=null)mous();
}
function mous(a){
y=a;
alert(x+y)
}
</script>