您可以利用 JavaScript 中所有变量都是真或假的事实。换句话说,每个变量都可以被强制(转换)为true
or false
。
null
是假的,有内容的字符串是真的。这意味着:
var a = null;
var b = 'hello';
if (a) {
// does not run
} else {
// runs
}
if (b) {
// runs
}
您也可以使用其他类型的表达式,例如三元表达式或逻辑 OR 运算符:
alert(a ? 'yes' : 'no'); // => no
alert(b ? 'yes' : 'no'); // => yes
alert(a || b); // => hello
在这种情况下,逻辑 OR 是我们最有趣的选择。使用运算符时,会发生以下情况:
- 如果左侧计算出truthy,则返回该值。
- 否则,返回右侧求值的值。
在上面的例子中,a
is null
,所以它是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
从结果中删除多余的空格。