这是我的第一篇文章,在此先感谢所有支持。
背景短:
我是一个脚本团队的成员,该团队开发脚本以简化我们的任务。我们正在使用 MySQL数据库,以允许团队选择我们创建的每个功能要使用的功能。数据库和数据检索工作正常。
问题:
即使我们创建的cookie设置为保留布尔值False,但函数始终会执行其保留的if子句。
function tkAlwaysViewAll(snippet) {
console.log('Viewall: ' + snippet);
if (snippet) {
var ticketURL = window.location.href;
var showAllURL, x;
x = ticketURL.indexOf('block=');
// if the string 'block=' does not exist in the URL, it adds the parameter and
// reloads the ticket to the correct 'view all' URL
if (x == -1) {
showAllURL = ticketURL + '&block=15:.a';
window.location.href = showAllURL;
} else {
console.log('Viewall function executed');
}
}
}
仅当snippet的值设置为True时,以上代码才应执行。但是,它始终在执行,而忽略代码段的值。在下面,您看到console.log()
的输出,该输出仅用于调试。
第一个console.log()
显示代码段变量的值。
仅在重新加载页面后(或当直接使用带有'block'参数的链接,但我们知道并没有使用它时),才会显示第二个console.log()
。
当代码段为True时:
Viewall: true
Viewall function executed
并且当代码段为False (不应执行该功能)时:
Viewall: false
Viewall function executed
该函数不使用任何全局变量,也不被任何其他事件更改。
此功能在做什么?
最诚挚的问候
答案 0 :(得分:1)
原因是您将compile group: 'com.github.derjust', name: 'spring-data-dynamodb', version: '5.0.4'
String
传递给了函数(cookies 总是存储"false"
s)。将其放在String
条件内部会将if()
转换为布尔值。非空字符串在该机制中转换为String
。
这是Java转换时对非布尔值的作用:
true