请问一下下面代码为什么还能输出字符串?sarg1.charAt(i)这个截取的是字符,而j是数字
<script language="javascript">
 
var sarg1 = "aa" ;
document.write( sarg1 + "</br>" );
for( i=0; i<sarg1.length; i++ )
{
    for( j=0; j<9; j++)
{
if( sarg1.charAt(i) == j )
{
document.write( sarg1.charAt(i)  );
}
}
  
}
</script></script>

解决方案 »

  1.   

     
    document.write( sarg1 + "</br>" ); //是这一句输出的啊。
      

  2.   

    这里有一个if( sarg1.charAt(i) == j )
    语句,为什么还能输出呢
      

  3.   

    楼主,改成下面这样就不输出了 :)
    <script language="javascript">
     
    var sarg1 = "aa" ;
    //document.write( sarg1 + "</br>" );
    for( i=0; i<sarg1.length; i++ )
    {
      for( j=0; j<9; j++)
    {
    if( sarg1.charAt(i) == j )
    {
    document.write( sarg1.charAt(i) );
    }
    }
      
    }
    </script>
      

  4.   


    是的,我粗心了.我的目地是想问if( sarg1.charAt(i) == j )这两个是否永不可能相等??
      

  5.   

    <script language="javascript">
    var sarg1 = "aa11bb" ;
    for( i=0; i<sarg1.length; i++ )
    {
    for( j=0; j<9; j++)
    {
    if( sarg1.charAt(i) == j )
    {
    alert(sarg1.charAt(i));
    document.write( sarg1.charAt(i) );
    }
    }
    }
    </script>
    charAt是什么意思你明白吗?返回指定位置的字符,按道理字符串和数字是不会相等的,但是js里面可能有自动转换,上面代码表示'1'和1可以被认为是相等的,所以的你的问题:是可能相等的。