javascript - JavaScript 新手,如何进行 null 检查?

标签 javascript null

我正在尝试学习 JavaScript。第一天!我想连接名字和姓氏。这是我到目前为止所拥有的。它工作正常,但如果我不输入其中一个字段,它只会显示为 null。我该如何避免这种情况?我将把该子句放在以下代码的什么位置?提前感谢您的帮助!

function ShowFullName()
{
    var varFirstName = Xrm.Page.getAttribute("lauren_firstname").getValue();
    var varLastName = Xrm.Page.getAttribute("lauren_lastname").getValue();
    Xrm.Page.getAttribute("lauren_name").setValue(varFirstName + " "  + varLastName);
};

最佳答案

您可以利用 all variables are truthy or falsy在 JavaScript 中。换句话说,每个变量都可以强制(转换)为 truefalse

nullfalsy,而带有内容的字符串是truthy。这意味着:

var a = null;
var b = 'hello';

if (a) {
    // does not run
} else {
    // runs
}

if (b) {
    // runs
}

您也可以使用其他类型的表达式,例如 ternary expressionlogical OR operator :

alert(a ? 'yes' : 'no'); // => no
alert(b ? 'yes' : 'no'); // => yes

alert(a || b); // => hello

在这种情况下,逻辑或是我们最有趣的选择。当您使用运算符时,会发生以下情况:

  1. 如果左侧评估真实,则返回该值。
  2. 否则,返回右侧求值的值。

在上面的例子中,anull,所以它是falsy。该表达式返回右侧,即 b 的值。所以我们可以通过编写 varFirstName || 来利用这种行为'',它将返回名字(如果有),或者如果它为空,则右侧为我们提供一个空字符串。

function ShowFullName() {
    var varFirstName = Xrm.Page.getAttribute("lauren_firstname").getValue();
    var varLastName = Xrm.Page.getAttribute("lauren_lastname").getValue();

    Xrm.Page.getAttribute("lauren_name").setValue(((varFirstName || '') + " " + (varLastName || '')).trim());
}

我添加了一个调用 trim从结果中删除多余的空格。

关于javascript - JavaScript 新手,如何进行 null 检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13056520/

相关文章:

java - 字符串不能为空?

javascript - 在 Chrome 控制台中按下按钮时,如何找出调用了哪些函数?

Javascript imageData 返回 0 的数组

java - 尝试解析数组时出现空指针异常(java)

sql - 外键中的空值

MYSQL:想要将日期列设为NULL

javascript - 谷歌闭包编译器中的高级编译

javascript - 创建一个json格式的对象

javascript - 处理提交事件 - jquery

c - 在 32 位或 64 位的一个字节中检测 ascii 字符