我有一個PHP生成的JavaScript代碼,它將屬性和值動態添加到對象。它看起來是這樣的:動態合併值到對象屬性 - 首先是未定義
var javascriptObject = {};
<?php
foreach($events as $event)
echo 'javascriptObject[$event->date] += $event->title';
endforeach
?>
因爲我有可能在同一日期的多個事件,它會添加到同一對象的屬性,然後通過外部日曆庫處理。現在,一切正常。但是,因爲它增加了+ =第一個「未定義」值的新數據,它總是停留在每個條目的開頭。
我的問題是,是否有一種方法在Javascript中初始化一個對象的默認值(空或可能爲null)而不是將其保留爲'undefined'?有人能指點我一個更好的解決方案嗎?
ps:我真的很想避免在每個循環中檢查'undefined'以保持代碼清潔,因爲它是一個php生成的javascript,當事件列表很大時會是一個完整的混亂。
foreach ($events as $event) {
echo 'javascriptObject[' . $event->date . '] = (javascriptObject[' . $event->date . '] || "") + "' . $event->title . '";';
}
甚至保護方式:
不會擴展變量單引號內,裏面只有雙引號。 – Barmar 2014-12-04 12:04:26
這只是邏輯的一個例子,語法可能不正確 – raphadko 2014-12-04 12:07:33