一个快速,可能很简单的问题,其答案可能是“最佳实践”
我正在关注自定义模板移动Safari网络应用程序的教程,并使用此代码更改视图:
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
只是测试view变量是否响应对象方法?为什么这很重要?
编辑 - 这是/这个问题的主要观点,它不是将Javascript视为一种语言,而是if
循环如何工作,而是为什么这3项内容特别需要检查:
在views
和front
不存在的情况下?
我通常不会冗余地编写代码。如果我的MySQL表的名称没有改变,我只会说UPDATE 'mytable' WHERE...
而不是更冗长(在我看来,冗余)
$mytable = "TheSQLTableName";
if ($mytable == an actual table && $mytable exists && entries can be updated){
UPDATE $mytable;
}
然而,如果表的名称(或在JS示例中,视图的名称)不是“硬编码”而是用户输入或其他可变的,我可能正确我的代码,因为DashCode示例具有它。那么告诉我,无论如何这些价值观会“出错”吗?
谢谢!
答案 0 :(得分:1)
if正在测试这3个指针,以确保它们是非空的。空指针为0,转换为false。如果这3个指针中的任何一个为0(null),那么它将不会尝试使用它们。
我不确定在Javascript中取消引用空指针的做法,但这是一个错误,可能会导致异常。 if只是避免这种可能性。