您可以利用JavaScript中的all variables are truthy or falsy這一事實。換句話說,每個變量都可以被強制(轉換)爲true
或false
。
null
是falsy,並與內容字符串truthy。這意味着:
var a = null;
var b = 'hello';
if (a) {
// does not run
} else {
// runs
}
if (b) {
// runs
}
您可以使用其它類型的表達式太像一個ternary expression或logical OR operator:
alert(a ? 'yes' : 'no'); // => no
alert(b ? 'yes' : 'no'); // => yes
alert(a || b); // => hello
在這種情況下,邏輯OR是我們最有趣的選擇。當您使用操作,會發生以下情況:
- 如果左側評估truthy,返回值。
- 否則,返回右側評估的值。
在上述例子中,是a
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
的調用來從結果中刪除多餘的空格。
學習JScript(或其他)的一部分將學習如何使用文檔。當然,歡迎您在此提問,但請注意,您需要展示研究成果。 – harpo
順便說一句,你在使用什麼庫?或者,「JScript」實際上不是拼寫錯誤? – Alexander
任何關於像我這樣的新人的建議,從哪裏開始。我已經被推入這個世界,並且我正在網上閱讀並試圖儘可能最好地理解使用JavaScript。我需要一個初學者指南。有什麼建議麼?我目前正在嘗試在Microsoft Dynamics CRM 2011中使用它。 – Lauren