一个快速、可能简单的问题,其答案可能是“最佳实践”
我正在关注自定义模板移动 Safari Web 应用程序的教程,并使用以下代码更改 View :
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
条件语句。这三元组说了什么?为什么在改变 View 之前需要验证每一件事? views.object
只是测试views 变量是否响应对象方法吗?为什么这很重要?
编辑 - 这是/曾经是这个问题的要点,它不认为 Javascript 是一种语言以及 if
循环如何工作,而是为什么这三件事具体需要检查:
在什么情况下views
和front
可能不存在?
我通常不会如此冗余地编写代码。如果我的 MySQL 表的名称没有更改,我只会说 UPDATE 'mytable' WHERE...
而不是更冗长的内容(在我看来,这是多余的)
$mytable = "TheSQLTableName";
if ($mytable == an actual table && $mytable exists && entries can be updated){
UPDATE $mytable;
}
如果表的名称(或在 JS 示例中, View 的名称)不是“硬编码”而是用户输入或其他可变的,我可能会像 DashCode 示例那样更正我的代码。那么告诉我,这些值无论如何都会“出错”吗?
谢谢!
最佳答案
if 正在测试这 3 个指针以确保它们不为空。空指针是 0,它会转换为 false。如果这 3 个指针中的任何一个为 0(空),则它不会尝试使用它们。
我不确定在 Javascript 中取消引用空指针会做什么,但这是一个错误,可能会导致异常。 if 只是避免这种可能性。
关于javascript - Dashcode 代码翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2282552/