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 += " [" + value + "]";
}
if ($("#log").html() != "") {
$("#log").append("<br>");
}
$("#log").append(outMessage);
if (window.console && console.log) {
console.log(outMessage);
}
}
$("#theButton").live('click', function() {
runTest();
});