also empty object

by bladnman

HTML

<script src="https://raw.github.com/carhartl/jquery-cookie/master/jquery.cookie.js"></script>
<input type=button id="theButton" value="run test" class="runButton">

<div id="log" class="log"></div>

CSS

.runButton {
    width:   125px;
    margin:  20px;
}
.log {
   padding:10px; 
    margin: 20px; 
    border: 1px dotted #ccc; 
    color:#888; 
    font-face: arial; 
    font-size:12px; 
    background: #fbfbfb; 
}

JavaScript

/* ************************************ */

function runTest() {

    var obj1 = new Object();
    
    // Make sure base obj is valid
    if (typeof obj1 == "undefined" || isNoE(obj1)) {
        debug("obj1 is not valid");
    }

    else {
        // TEST 1-level undefined
        if ( isNoE(obj1.nothingHere) ) {
            debug("obj1.nothingHere is not valid");
        }
        
        
        // TEST 2-level undefined
        // THIS FAILS !!!
        if ( isNoE(obj1.nothingHere.andDefinitelyNotHere) ) {
            debug("obj1.nothingHere.andDefinitelyNotHere is not valid");
        }
    }

}



function isNoE(object) {
    if (typeof object == "undefined" || object == null) {
        return true;
    }
    return false;
}








/* ************************************ 
 _____ ___ __  __ ___ _      _ _____ ___ 
|_   _| __|  \/  | _ \ |    /_\_   _| __|
  | | | _|| |\/| |  _/ |__ / _ \| | | _| 
  |_| |___|_|  |_|_| |____/_/ \_\_| |___|
                                         
************************************  */

function debug(message, value) {
    var outMessage = message;

    if (typeof value !== "undefined" && value !== null) {
        outMessage += "&nbsp;&nbsp;&nbsp;&nbsp;[" + value + "]";
    }
    if ($("#log").html() != "") {
        $("#log").append("<br>");
    }
    $("#log").append(outMessage);

    if (window.console && console.log) {
        console.log(outMessage);
    }
}
$("#theButton").live('click', function() {
    runTest();
});