Dashcode code translation

Posted by Alex Mcp on Stack Overflow See other posts from Stack Overflow or by Alex Mcp
Published on 2010-02-17T16:44:32Z Indexed on 2010/03/23 12:03 UTC
Read the original article Hit count: 389

Hi, a quick, probably easy question whose answer is probably "best practice"

I'm following a tutorial for a custom-template mobile Safari webapp, and to change views around this code is used:

function btnSave_ClickHandler(event)
{
    var views = document.getElementById('stackLayout');
    var front = document.getElementById('mainScreen');
    if (views && views.object && front) {
        views.object.setCurrentView(front, true);
    }
}

My question is just about the if conditional statement. What is this triplet saying, and why do each of those things need to be verified before the view can be changed? Does views.object just test to see if the views variable responds to the object method? Why is this important?

EDIT - This is/was the main point of this question, and it regards not Javascript as a language and how if loops work, but rather WHY these 3 things specifically need to be checked:

Under what scenarios might views and front not exist?

I don't typically write my code so redundantly. If the name of my MySQL table isn't changing, I'll just say UPDATE 'mytable' WHERE... instead of the much more verbose (and in my view, redundant)

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

Whereas if the table's name (or in the JS example, the view's names) ARE NOT "hard coded" but are instead a user input or otherwise mutable, I might right my code as the DashCode example has it. So tell me, can these values "go wrong" anyhow?

Thanks!

© Stack Overflow or respective owner

Related posts about dashcode

Related posts about JavaScript