2012-03-31 28 views
14

Chức năng này mang lại cho tôi những lỗi sau:Lỗi Cú pháp: Invalid nhân vật ' u8203'

SyntaxError: Invalid character '\u8203'

Tất cả có vẻ tốt với tôi,

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

có thể một người nào đó phát hiện ra các lỗi?

Trả lời

29

Đó là một nhân vật sau khi cú đúp xoăn đóng:

tôi copy-dán mã của bạn trong giao diện điều khiển Firefox', hậu tố với một phương pháp xác định gọi:

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

Một TypeError (không xác định) chương trình lên, bao gồm được phân tích cú pháp (đã thoát) mã:

TypeError: "function changeColumnWidth() { var w = Math.random() * 200+80; $('#menu').css(\"width\", w+\"px\");}\u200B".l is not a function.
                                  ^^^^^^ Đây là lỗi.

Bây giờ, người gây rối được tìm thấy. Để khắc phục, hãy mở mã của bạn trong trình chỉnh sửa văn bản và xóa ký tự ẩn. Nhân vật này có thể được phát hiện bằng cách đi qua tất cả các nhân vật bằng cách sử dụng các phím mũi tên.

+1

FYI, cho các khối dài mã, thêm một dấu gạch chéo ở cuối mỗi dòng là không vui. Đó là lý do tôi sử dụng E4X (chỉ dành cho Firefox) để đánh dấu một khối: ' .toString(). L()' –

+0

Tôi có javascript rất lớn rằng tôi sao chép từ mạng làm thế nào để tìm thấy những lỗi? có bất kỳ trình soạn thảo nào có phương pháp tìm không? – user1788736

0

mở tập tin trong Hex Editor (Tôi đang sử dụng Hex bè, http://ridiculousfish.com/hexfiend/) Tháo nhân vật đó đang hiển thị lỗi Lưu nộp

+0

Làm thế nào để tìm công cụ tương tự cho các cửa sổ? – user1788736