Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将其包装到javascript函数中?_Javascript_Function - Fatal编程技术网

如何将其包装到javascript函数中?

如何将其包装到javascript函数中?,javascript,function,Javascript,Function,我有一段代码,我正试图将其封装在一个返回cookie值的函数中 document.cookie.split(';').filter(function(s) { return s.search('constituency=') == 1 })[0].split(/(=)/).slice(2).join(''); 在我的浏览器控制台中,这会完美地返回cookie值。我希望能够在另一个函数中使用此值,但当我尝试将其包装到函数中时,它会显示“未定义” 有人能帮我理解为什么吗 function sp

我有一段代码,我正试图将其封装在一个返回cookie值的函数中

document.cookie.split(';').filter(function(s) {
  return s.search('constituency=') == 1
})[0].split(/(=)/).slice(2).join('');
在我的浏览器控制台中,这会完美地返回cookie值。我希望能够在另一个函数中使用此值,但当我尝试将其包装到函数中时,它会显示“未定义”

有人能帮我理解为什么吗

function splitValues() {
  document.cookie.split(';').filter(function(s) {
    return s.search('constituency=') == 1
  })[0].split(/(=)/).slice(2).join('');
}

您需要返回值

function splitValues() { 
   return document.cookie.split( ';' ).filter( 
    function( s ) { 
      return s.search( 'constituency=' ) == 1 
    })[ 0 ].split( /(=)/ ).slice( 2 ).join( '' );
}

请注意
文档之前的
返回

,您需要返回值

function splitValues() { 
   return document.cookie.split( ';' ).filter( 
    function( s ) { 
      return s.search( 'constituency=' ) == 1 
    })[ 0 ].split( /(=)/ ).slice( 2 ).join( '' );
}

注意
return
之前的
document

您忘记了
return
语句:

function splitValues() {
  return document.cookie.split(';').filter(function(s) {
  //^^\\
    return s.search('constituency=') == 1
  })[0].split(/(=)/).slice(2).join('');
}

return
语句是函数中的第一条语句。

您忘记了
return
语句:

function splitValues() {
  return document.cookie.split(';').filter(function(s) {
  //^^\\
    return s.search('constituency=') == 1
  })[0].split(/(=)/).slice(2).join('');
}

return
语句是函数中的第一条语句。

要使函数正常工作,您需要返回结果。在您的情况下,只在
.filter()
方法的函数中返回
.search()
方法的结果

您必须将
.filter()
方法的结果作为一个整体返回,才能使其正常工作:↓

return document.cookie.split(';').filter(function(s) {...}...
整个功能

function splitValues() {
    return document.cookie.split(';').filter(function(s) {
        return s.search('constituency=') == 1
    })[0].split(/(=)/).slice(2).join('');
}

要使函数正常工作,您需要返回结果。在您的情况下,只在
.filter()
方法的函数中返回
.search()
方法的结果

您必须将
.filter()
方法的结果作为一个整体返回,才能使其正常工作:↓

return document.cookie.split(';').filter(function(s) {...}...
整个功能

function splitValues() {
    return document.cookie.split(';').filter(function(s) {
        return s.search('constituency=') == 1
    })[0].split(/(=)/).slice(2).join('');
}

您需要在第2行
document.cookie
之前添加
return
。Right know you函数返回
void
,这是
未定义的
。您需要在第2行
document.cookie
之前添加
return
。Right know you函数返回
void
,这是
未定义的
。谢谢,这么简单,但它已经被难倒很久了!谢谢,这么简单,但它已经被难住了很久!