JS Snippets

http://mootools.net/

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