Hacker News new | ask | show | jobs
by cfq 5528 days ago
This sort of thing happens a lot when people learn jQuery but not Javascript. This fascinating "jQuery feature" is just a wrapper for JavaScript's built-in functions call and/or it's brother apply.

https://developer.mozilla.org/en/JavaScript/Reference/Global...

https://developer.mozilla.org/en/JavaScript/Reference/Global...

1 comments

Or rather, it returns a new function that wraps call/apply with a "baked in" value of 'this', so that it can be passed as a callback and retain the correct 'this'. That's a bit different than just being a wrapper for them - it's shorthand for using something like "var that = this" and a closure.

When we start seeing people using (jQuery.proxy(xxx)()) - then they've learned too much jQuery and not enough Javascript :-)

Exactly. It's a Function.bind clone:

https://developer.mozilla.org/en/JavaScript/Reference/Global...

Unfortunately, bind is a 5th edition feature, not widely available.