Skip to content

Instantly share code, notes, and snippets.

@rwaldron
Created May 4, 2010 20:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save rwaldron/389933 to your computer and use it in GitHub Desktop.
Save rwaldron/389933 to your computer and use it in GitHub Desktop.
(function ($) {
$.fn.pollute = function (pollution) {
// first we extend the pollution object to the window, nice!
$.extend(window, pollution);
// make sure we're really nasty, and pollute all the elements as well.
return this.each(function () {
for ( var junk in pollution ) {
if ( typeof pollution[junk] === 'object' ) {
$(this).pollute(pollution[junk]);
return;
}
$.extend(this, pollution);
}
});
}
})(jQuery);
//Usage
$(document).pollute({
foo: 'bar',
more: {
crap: 'baz',
yuck: 'junk'
},
badass: window
});
// Automatically adds foo to the global scope!
// As an added bonus the junk gets put on EVERY MATCHED ELEMENT in the collection as well!
// Yippee!!
@bnvk
Copy link

bnvk commented May 4, 2010

Hehe, mesa-thinks it's funny that it's called "pollution" :)

@paulirish
Copy link

Dig the circ-referencing memory leakage that's seeping out, too.

@rwaldron
Copy link
Author

rwaldron commented May 4, 2010

@paulirish - It's very feature rich like that! I wanted to make sure I covered all the important aspects of REAL javascript programming.

@enguyen
Copy link

enguyen commented May 4, 2010

I think I just saw Douglas Crockford leaving this page, clutching his stomach and puking.

@rwaldron
Copy link
Author

rwaldron commented May 4, 2010

That's ok, because I tried to read his book and it was too confusing. All this non-sense about scope and closures?? WTF OMFG!!

@arxpoetica
Copy link

lol!

@arxpoetica
Copy link

@brennannovak i just realized you jar-jar-jinxed this

@jacobandresen
Copy link

heeehe

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment