This comes from comments on a question on StackOverflow about JavaScript Variables: Why aren't ◎ܫ◎ and ☺ valid JavaScript variable names?
JavaScript accepts zero-width characters as valid variable names, for example all three of these variables have different names but are visually identical:
var ab, /* ab */
ab, /* a‍b */
ab; /* a‌b */
Here's a JSFiddle example of the above three variables in use.
What are the pros and cons of doing this as an obfuscation technique for JavaScript (and other supporting languages)?