快速,可能簡單的問題,其答案可能是使用「最佳實踐」Dashcode中的代碼翻譯
我下面的自定義模板移動的Safari Web應用程序的教程,和改變周圍的這段代碼的觀點:
function btnSave_ClickHandler(event)
{
var views = document.getElementById('stackLayout');
var front = document.getElementById('mainScreen');
if (views && views.object && front) {
views.object.setCurrentView(front, true);
}
}
我的問題只是關於if
條件陳述。這個三元組是什麼意思,以及爲什麼在視圖可以改變之前需要驗證每一件事情? views.object
只是測試以查看視圖變量是否響應對象方法?爲什麼這很重要?
編輯 - 這是/是這個問題的要點,並認爲不是JavaScript作爲一種語言和if
迴路是如何工作的,而是爲什麼這些三兩件事特別需要檢查:
在什麼情況下views
和front
不存在?
我通常不會那麼冗長地寫我的代碼。如果我的MySQL表的名稱沒有改變,我只想說UPDATE 'mytable' WHERE...
,而不是更詳細的(在我看來,冗餘)
$mytable = "TheSQLTableName";
if ($mytable == an actual table && $mytable exists && entries can be updated){
UPDATE $mytable;
}
然而,如果表的名稱(或JS例子,視圖的名稱)不是「硬編碼」,而是用戶輸入或其他方式可變的,我可能會對DashCode示例中的代碼進行調整。所以告訴我,無論如何,這些值是否會「出錯」?
謝謝!