JS方法里面没有加return,就出错了?

ReadCookie_sns = function(){   ReadCookie("myname"); } 

出错,提示:Unexpected token u in JSON at position 0

改为:

ReadCookie_sns = function(){ return  ReadCookie("myname"); } 

好了。 加了return, 就好了。请问为什么?

-----------------下面是ReadCookie方法。

ReadCookie = function(cookieName) {
        var theCookie = "" + document.cookie;
        var ind = theCookie.indexOf(cookieName);
        if (ind == -1 || cookieName == "") return "";
        var ind1 = theCookie.indexOf(';', ind);
        if (ind1 == -1) ind1 = theCookie.length;
        /*读取Cookie值*/
        return unescape(theCookie.substring(ind + cookieName.length + 1, ind1));
    }
阅读 3.5k
3 个回答

function(){ ReadCookie("myname"); }返回的是undefined。
function(){ return ReadCookie("myname"); }才是返回unescape(theCookie.substring(ind + cookieName.length + 1, ind1));

当前操作是要赋值给变量,没有return会报错,如果只是单纯执行整个语句的后面部分,是不会报错的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题