因为前面有个空格<HTML> 
<HEAD> 
<title>cookietest </title> 
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1"> 
<meta name="CODE_LANGUAGE" Content="C#"> 
<meta name="vs_defaultClientScript" content="JavaScript"> 
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> 
<script language="javascript"> 
function ct() 

document.cookie="a=aaa"; 
document.cookie="b=bbb"; 
document.cookie="c=cccc"; 
var cookiestr=document.cookie; 
window.alert(cookiestr); 
var arr=cookiestr.split(";"); 
//alert(arr[1]); 
var len=arr.length; 
var maparr; 
var tmp; 
var k; 
for(var i=0;i <len;i++) 
{  
tmp=arr[i]; 
maparr=tmp.split("="); 
k=maparr[0]; 
alert("**"+k+"**"); 
if(k=="c") 

  alert(maparr[0]+"===="+maparr[1]); 
} tmp=''; 
k=''; 
map=null; 


</script> 
</HEAD> <body MS_POSITIONING="GridLayout"> 
<form id="Form1" method="post" runat="server"> 
<input type="button" value="test" onclick="ct()"> 
</form> 
</body> 
</HTML> 

解决方案 »

  1.   

    只有if(k=="a") 成立;就是因为document.cookie="a=aaa"; 是第一句;如果
    document.cookie="b=bbb"; 是第一句,则if(k=="b") 成立;
    强烈迷惑
      

  2.   

    你的代码我没改了,只是把弹出的内容加了两边边界"*",可以仔细看看a和bc是有区别的哦
      

  3.   


    <script  language=jscript>
    var str=" aa a "
    var result=str.replace(/((^\s+)|(\s+$))/g,"")
    alert("**"+result+"**")
    </script>