的确是递归数,用到了arguments.callee
(c.shift();// 
上面这个看的不是很明白

解决方案 »

  1.   

    算是看明白了,搞半天是个实参。不太确定楼主说的正确的值是指哪种,是只要数值里有的话就把数据里所有的值都显示一遍吗。如果是的话就是下面的<script>
    function getCookie(name){    var c = ['name=qf', 'age=24', 'sex=男'];    return (function (ary){        if(ary != undefined && ary.toString().indexOf(ary) > -1)
    {
    arguments.callee(c.shift());
    alert(ary);
    }    })(c.shift());
    }
    </script><button onclick="getCookie('sex')">getCookie</button>
      

  2.   

    不是说都显示一遍,而是getCookie('')传进去什么键,就显示这个值,其实就是根据cookie名得到cookie值
    比如getCookie('sex'),就得到sex的值:sex=男
    如果没有就返回null
      

  3.   


    <script>
    function getCookie(name){var c = ['name=qf', 'age=24', 'sex=男'];
    var strValue;for(var nI = 0; nI < c.length; nI ++)
    {
    if(c[nI].toString().indexOf(name) >  -1)
    {
    strValue = c[nI]; break;
    }
    else
    {
    strValue = null;
    }
    }return strValue}
    </script><button onclick="alert(getCookie('age'))">getCookie</button>
      

  4.   

    呵呵   谢谢toe999 的热心,结贴啦,我知道我那个写法为什么错了,因为我那个不是递归