gpt4 book ai didi

javascript - 如何检查 JavaScript 中的变量是否为空?

转载 作者:行者123 更新时间:2023-11-30 16:17:17 25 4
gpt4 key购买 nike

var characterName = document.getElementById("pilotName").value;
var characterID = 0;
var charSecStatus = 0;
var corpName = " ";
var allianceName = " ";


//callback
makeRequest('https://api.eveonline.com/eve/CharacterID.xml.aspx?names=' + characterName, function() {
if (xmlhttp.status == OK_RESPONSE) {

//read character info
characterID = xmlhttp.responseXML.getElementsByTagName("row")[0].getAttribute("characterID");

makeRequest('https://api.eveonline.com/eve/CharacterInfo.xml.aspx?characterID=' + characterID, function() {

if (xmlhttp.status == OK_RESPONSE) {

//read character info
characterID = xmlhttp.responseXML.getElementsByTagName("characterID")[0].innerHTML;
charSecStatus = xmlhttp.responseXML.getElementsByTagName("securityStatus")[0].innerHTML;
corpName = xmlhttp.responseXML.getElementsByTagName("corporation")[0].innerHTML;
allianceName = (xmlhttp.responseXML.getElementsByTagName("alliance")[0] || {
innerHTML: ""
}).innerHTML;
}
});
}
});

(部分代码如图,无括号垃圾邮件)我正在尝试检查“联盟”变量是否为空,因为某些“公司”不在“联盟”中,如果它试图显示一个空变量,这将是网站上的严重错误,所以有没有办法检查如果 allianceName 在从 XML 树中检索它并将其设置为类似“No Alliance”(如果它是空的)之后是否为空?谢谢

最佳答案

你在这里声明了真正的变量

var corpName = " ";
var allianceName = " "

在 JavaScript 中,带有空白字符的字符串的值实际上是真值。虽然上面的值看起来确实是空的,但事实并非如此。亲自尝试一下。

Boolean(" ");
=> true

要将这些变量设置为空,您需要在声明时不使用空格字符

var corpName = "";
var allianceName = "";

有了这个之后,有两种方法可以检查变量是否为空

if (!corpName || !corpName.length)

假设您不小心包含了空白字符,有几种方法可以解决这个问题。在这些情况下,我们可以修改这些字符串。

Boolean(" ".trim());
=> false

在上面的示例中,trim() 函数用于从字符串中删除空白字符。

您还可以在字符串中搜索非空白字符

/\S/.test(" ")
=> false

\S 修饰符查找所有非空白字符。

或者,您也可以使用替换功能

Boolean(" ".replace(/\s/g, ''));

全局标志 g 查找对前一个正则表达式的所有引用。

关于javascript - 如何检查 JavaScript 中的变量是否为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35306632/

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