js中的函数如何取到另外一个函数里变量的值?

 function CheckName(){
   var url = "CheckServlet?userName="+document.getElementById("userName").value+"&r="+Math.random();
   if(window.XMLHttpRequest){
    req = new XMLHttpRequest();
   }
   else if(window.ActiveXObject){
    req = new ActiveXObject("Microsoft.XMLHTTP");
   }
   if(req){
    req.open("GET",url,true);
    req.onreadystatechange = complete_userName;
    req.send(null);
   }
 }
 
 function complete_userName(){
     if(req.readyState == 4){
        if(req.status == 200){
            typeName = req.responseText;
            if(typeName == "10"){
                document.getElementById("userNameCheck").style.color = "green";
                document.getElementById("userNameCheck").innerHTML = "xxx";
            }
            else if(typeName == "11"){
                document.getElementById("userNameCheck").style.color = "red";
                document.getElementById("userNameCheck").innerHTML = "xxx";
            }
        }
     }
 }
我通过ajax的方法实现注册页面里,用户名的实时检查,但是我想在另外一个函数里取到typeName变量的值,我应该怎么写才能正确取到这个变量的值?

你现在的写法就是对的
function complete_userName(){

if(req.readyState == 4){

if(req.status == 200){

typeName = req.responseText;

if(typeName == "10"){

document.getElementById("userNameCheck").

complete_userName 是在响应成功时调用的回调 通过req.responseText得到响应的内容 没问题

定义一个变量
var s = {typeName:""};
在一个函数里面改变s.typeName的值 另一个函数里面获取s.typeName

1.全局变量
2.把变量的值存放在一隐藏域中,需要的时候,获取这个隐藏域

定义一个全局的变量……