快速,可能简单的问题,其答案可能是“最佳实践”

我以下为定制模板移动的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循环工作,而是为什么这些三两件事特别需要检查:

在什么情况下可能viewsfront不存在?

我不通常书写我的代码冗余。如果我的MySQL表的名称没有改变,我只想说UPDATE 'mytable' WHERE...,而不是更详细的(在我看来,冗余)

$mytable = "TheSQLTableName";
if ($mytable == an actual table && $mytable exists && entries can be updated){
    UPDATE $mytable;
}

然而,如果表的名称(或JS例如,视图的名字)不是“硬编码”,而实际上用户输入或以其他方式可变的,我还不如按Dashcode例子有它的权利我的代码。所以告诉我,可以在这些值“出错”无论如何?

谢谢!

有帮助吗?

解决方案

在如果正在测试的那些3个指针,以确保它们是非空。空指针是0,这转换为假。如果任何这些3指针的是0(零),那么它不会尝试使用它们。

我不知道在Javascript什么提领一空指针做,但它是一个错误,可能会导致异常。所述如果只是避免这种可能性。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top