A personal repository of random information in compensation for a fatigued biological computer
Breaded IT » Web Development » Internet Tools » JS Snippets
http://www.electricprism.com/aeron/slideshow/index.html, http://code.google.com/p/slideshow/
http://www.htmlgoodies.com/primers/jsp/
Add to an object on the fly but remember to initialise the object: var xxx = {};
http://stackoverflow.com/questions/4601008/adding-members-to-an-existing-object
As others have pointed out:
obj.fn2 = function(){ ... };
Note that if "fn2" is not a valid identifier, you must instead use the 'array' notation for the object:
obj["fn2"] = function(){ ... }; obj["!! crazy-names#allowed?!"] = function(){ ... };
This is also how you would do it if you had the name of the property stored in a variable:
var propName = "fn2"; obj[propName] = function(){ ... };
If you want to test if a property exists for an object, you can use the in operator:
if ("fn2" in obj){ ... }
If you want to remove a property from an object, use the delete keyword:
var o = { a:42 }; console.log( "a" in o ); // true delete o.a; // Or delete o["a"] console.log( "a" in o ); // false
To iterate over all properties in an object, use the in operator in a for loop. Be sure to var the variable so that it isn't global:
var o = { a:42, b:17 }; var allPropertyNames = []; var allPropertyValues = []; for (var propName in o){ // If you don't do this test, propName might be a property inherited // by this object, and not a property on the object itself. if (o.hasOwnProperty(propName)){ allPropertyNames.push(propName); allPropertyValues.push(o[propName]); } } console.log( allPropertyNames ); // [ "a", "z" ] console.log( allPropertyValues ); // [ 42, 17 ]
Recursive walk Javascript object tree:
var createTree = function (node, data) { for (var key in data) { if (data.hasOwnProperty(key)) { if (key == "attributes") { node.setAttributes(myAttributes); // loop through attributes on the element } else { for (var i = 0; i < data[key].length; ++i) { var childNode = document.createElement(key); createTree(childNode, data[key][i]); node.appendChild(childNode); } } } } } createTree(parentNode, htmlString);
xx