Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SyntaxError: Invalid character '\u8203'

This function gives me the following error:

SyntaxError: Invalid character '\u8203'

All looks good to me,

function changeColumnWidth() {
    var w = Math.random() * 200+80;
    $('#menu').css("width", w+"px");
}​

can someone spot the error?

like image 428
clankill3r Avatar asked Mar 31 '12 10:03

clankill3r


1 Answers

It's a character after the closing curly brace:

I copy-pasted your code in Firefox' console, postfixed with a undefined method invocation:

'function changeColumnWidth() {\
    var w = Math.random() * 200+80;\
    $(\'#menu\').css("width", w+"px");\
}​'.l(); /* .l() triggers a TypeError, since it's not defined */

A TypeError (undefined) shows up, which includes the parsed (escaped) code:

TypeError: "function changeColumnWidth() { var w = Math.random() * 200+80; $('#menu').css(\"width\", w+\"px\");}\u200B".l is not a function.
                                 ^^^^^^ Here's the error.

Now, the troublemaker is found. To fix it, open your code in a text editor, and remove the invisible character. This character can be detected by walking through all characters using the arrow keys.

like image 193
Rob W Avatar answered Oct 27 '22 03:10

Rob W