gpt4 book ai didi

javascript - 如果变量不存在如何执行语句?

转载 作者:行者123 更新时间:2023-12-02 14:14:41 25 4
gpt4 key购买 nike

我正在开发一个项目,我必须检查变量是否存在或不为空,然后我必须比较两个值(如果变量存在)并检查差异是否不大于 10。如果它大于 10,我有提醒消息,如果不是,我必须继续我的 ajax 调用。所以我遇到的问题是如何将所有内容放入一个语句中,这样我只能使用 ajax 调用一次。这是我的代码示例:

function myFunction(){
var var1 = document.getElementById("myvar1").value;
var var2 = document.getElementById("mayvar2").value;
var var3 = document.getElementById("myvar3").value;

if ((var1.length != 0 && var2.length != 0)&&((dateDiff(var1,var2) > 10 && var3 == ''))) {
alert('It is greater than 10!');
}else{
//Ajax call
}
}

所以这是我当前的函数,出现问题是因为变量一在特定情况下显示在页面上(我不想详细说明)。在这种情况下,如果我没有 var1,我我收到一个错误,指出我的 var1 是 undefined ,这是有道理的,因为它是在 if 语句上方定义的。所以我的问题是这个问题的最佳解决方案是什么?我尝试再添加一个 if 语句来检查现有 if 之上是否存在变量,但在这种情况下,我需要 ajax 调用两次,如下所示:

function myFunction(){
if (document.getElementById("myvar1")) {
var var1 = document.getElementById("myvar1").value;
var var2 = document.getElementById("mayvar2").value;
var var3 = document.getElementById("myvar3").value;

if((var1.length != 0 && var2.length != 0)&&((dateDiff(var1,var2) > 10 && var3 == ''))){
alert('It is greater than 10!');
}else{
//Ajax call
}
}else{
//Ajax call
}
}

我认为不应有多个 Ajax 调用,如果有人可以帮助解决此问题,请告诉我。提前致谢。

最佳答案

只需像这样创建 var1:

var var1 = document.getElementById("myvar1") && document.getElementById("myvar1").value || ""

function myFunction(){
var var1 = document.getElementById("myvar1") && document.getElementById("myvar1").value || "";
var var2 = document.getElementById("mayvar2").value;
var var3 = document.getElementById("myvar3").value;

if ((var1.length != 0 && var2.length != 0)&&((dateDiff(var1,var2) > 10 && var3 == ''))) {
alert('It is greater than 10!');
}else{
//Ajax call
}
}

关于javascript - 如果变量不存在如何执行语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39147483/

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