gpt4 book ai didi

javascript - "IF ELSE"JavaScript 不工作

转载 作者:行者123 更新时间:2023-11-28 16:06:22 26 4
gpt4 key购买 nike

A)我有第一个功能,效果很好:

  if(onlyUs == '1' && idUser == '0'){
obj.after(jQuery('<div />').css({'clear':'both'}).addClass('kklike-msg').text('Only registered users can vote.'));
setTimeout(function(){
jQuery('.kklike-msg').fadeOut('normal');
},3000);
return false;
}

B)所以我想我可以做以下事情:

        if(idUser == '0'){
if(action == 'like'){
var ajaxAction = 'add_like';
}else{
var ajaxAction = 'remove_like';
}
}else{
if(action == 'like'){
var ajaxAction = 'add_like';
window.open('http://mywebsite.com/like')
}else{
var ajaxAction = 'remove_like';
window.open('http://mywebsite.com/remove')
}
}

C)知道原来的函数很简单(效果很好):

if(action == 'like'){
var ajaxAction = 'add_like';
}else{
var ajaxAction = 'remove_like';
}

但是 B) 不起作用。在两种情况下(登录或未登录),新窗口都会打开。你有解决办法吗?

最佳答案

在不知道 idUser类型的情况下,很难判断问题所在,但最有可能的罪魁祸首是 the use of == for comparison instead of === 。使用 == 时,JavaScript 会将比较的变量转换为类似的类型,这可能会导致您的情况出现一些非常不可预测的结果。

我建议您编写如下代码。如果这仍然不能按您的预期工作,您应该调查 idUser 的实际值是什么。它可能不是导致问题的字符串

if (idUser === '0') {
if(action === 'like') {
var ajaxAction = 'add_like';
} else {
var ajaxAction = 'remove_like';
}
} else {
if (action === 'like') {
var ajaxAction = 'add_like';
window.open('http://mywebsite.com/like');
} else {
var ajaxAction = 'remove_like';
window.open('http://mywebsite.com/remove');
}
}

有关为什么应该使用 === 的一个非常简单的示例,请参阅此博客文章:

http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html

关于javascript - "IF ELSE"JavaScript 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14799607/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com