您不需要typeof
但您確實需要一個if
語句或其他一些流控制。
var el = document.querySelector('div#summary-item div.description');
var data = "";
if (el)
data = el.innerHTML;
或者這裏使用條件運算符:
var el = document.querySelector('div#summary-item div.description');
var data = el ? el.innerHTML : "";
從技術上講,你可以逃脫不使用流控制語句或表達使用具有.innerHTML
屬性的對象。
var data = (document.querySelector('div#summary-item div.description') || {innerHTML:""}).innerHTML;
但我認爲這是醜陋的。語句是if
語言的一部分。不知道爲什麼你想避免它。
當然,如果它真的困擾你,你總是可以使用一個將它抽象出來的函數。
function htmlFromElem(selector) {
var el = document.querySelector(selector);
return el ? el.innerHTML : "";
}
然後使用它是這樣的:
var data = htmlFromElem('div#summary-item div.description')