下面的代碼在瀏覽器中:爲什麼不能操作「||」在此JavaScript代碼中替換三元運算符「?:」?
var event = event || window.event;
var eTarget = event.target || event.srcElement;
var eTargetId = eTarget.id;
當我將其更改爲
var eTargetId = event.target ? event.target.id : event.srcElement.id;
它的作品了。
當我修改代碼,
var eTargetId = event.target.id || event.srcElement.id;
它不能在IE工作678我得到以下錯誤:
SCRIPT5007:Object expected.
這究竟是爲什麼?
第三個例子是前兩個示例不同。 – guest271314
您需要了解ES中不存在的存在訪問者操作符。 – Knu
存在訪問者操作符也稱爲「安全導航操作符」。它的意思是「如果基礎對象引用爲null,則返回null,否則返回基礎對象的這個特定屬性。」 –