Skip to content

Instantly share code, notes, and snippets.

View JamieMason's full-sized avatar
💤
On a break from OSS for a couple of weeks

Jamie Mason JamieMason

💤
On a break from OSS for a couple of weeks
View GitHub Profile
@JamieMason
JamieMason / gist:809266
Created February 3, 2011 09:35
RegExp to match opening and closing HTML tags and comments
document.body.innerHTML.match(/<[^>]+>/gi);
@JamieMason
JamieMason / lazySingleton.js
Created March 1, 2011 08:27
JavaScript Singleton with lazy instantiation.
var ConstructorName = (function()
{
var singletonInstance = null;
function ConstructorName()
{
// presumably expensive instantiation/init code
}
@JamieMason
JamieMason / closure_test
Created March 3, 2011 20:08
javascriptmasterclass.com - exercise 2
(function(name, scope){
// Code
var index;
function log(){
console.log(index);
}
function iterate(){
log();
@JamieMason
JamieMason / masterclass2
Created March 3, 2011 21:05
javascriptmasterclass.com - exercise 1
// functional version
function LogCar(color, make){
this.color = color;
this.make = make;
}
LogCar.prototype.color = 'Colour-less';
LogCar.prototype.make = 'No-Brand';
LogCar.prototype.log = function(){
@JamieMason
JamieMason / com.javascriptmasterclass.homework-1.js
Created March 3, 2011 22:12
javascriptmasterclass.com - Homework 1 (Person)
function Person (name) {
this.name = name;
}
Person.prototype.getName = function()
{
return this.name;
}
// ############################################################
@JamieMason
JamieMason / com.javascriptmasterclass.homework-2.js
Created March 4, 2011 15:30
javascriptmasterclass.com - Homework 2 (isPrime)
// Part 1.
// Implement a function prototype extension that caches function results for
// the same input arguments of a function with one parameter.
//
// For example:
// Make sin(1) have the result of Math.sin(1), but use a cached value
// for future calls.
Function.prototype.cached = function ()
{
@JamieMason
JamieMason / gist:855570
Created March 4, 2011 19:41
javascriptmasterclass.com - DOM task 1
<div id="the_div">
<ul id="the_list">
<li id="the_item">Click me!</li>
</ul>
</div>
<p id="log"></p>
<!--
1. Change the addEventListener calls so that the events occur in the following order.
@JamieMason
JamieMason / gist:855574
Created March 4, 2011 19:42
javascriptmasterclass.com - DOM task 2
<div id="the_div">
<ul id="the_list">
<li id="the_item">Click me!</li>
</ul>
</div>
<p id="log"></p>
<!--
@JamieMason
JamieMason / gist:855576
Created March 4, 2011 19:42
javascriptmasterclass.com - DOM task 3
<div id="the_div">
<ul id="the_list">
<li id="the_item">Click me!</li>
</ul>
</div>
<p id="log"></p>
<!--
@JamieMason
JamieMason / validator.js
Created March 9, 2011 17:31
First attempt at proposal for the syntax for registration validators
// Constructor
function Validator (oParams, oProtected)
{
// optionally share private stuff between other validators
oProtected = oProtected || {};
// ...
}
// Instantiate