如何将其包装在javascript函数中
How to wrap this in a javascript function?
我有一段代码,我试图将其包装在一个返回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( '' );
}
请注意document
之前的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('');
}
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 正在全局范围中查找JavaScript函数
- 如何将输入(type=text)从html表单传递到javascript函数
- 如何调用这个匿名 JavaScript 函数
- 通过Ajax将JavaScript函数传递给PHP文件
- 在javascript函数中设置全局变量
- 如何在执行此特定onclick事件时执行JavaScript函数
- 使用javascript函数在页面初始化后加载jquery
- javascript函数同步
- 如何将一个JavaScript函数回调为多个函数
- 在javascript函数中使用php变量
- 代码背后调用一个JavaScript函数的按钮点击-C#
- 将JavaScript函数与HTML分离
- 组合两个javascript函数
- 在 Java 中的 JavaScript 函数中插入 Wicket 值
- javascript函数内部的代码用逗号而不是分号分隔
- href属性内的javascript函数
- 使用html表单中的参数调用JavaScript函数
- 分析Javascript函数中的多个对象
- javascript函数的:和=之间的区别