JSLint là công cụ phân tích mã nguồn Javascript được cung cấp dưới dạng một ứng dụng Web. Sử dụng JSLint khá đơn giản, chỉ cần sao chép mã nguồn Javascript và dán vào input để JSLint thực thi phân tích mã nguồn. Javascript là ngôn ngữ lập trình có một số đặc điểm khá khác các ngôn ngữ lập trình khác đó là không cần khai báo biến trước khi sử dụng, ngoài ra việc gỡ rối (debug) Javascript khá khó khăn. Khi thực thi nếu có lỗi xảy ra thì cũng không hiển thị lỗi mà chỉ xuất hiện thất bại hoặc không báo gì, điều này khiến cho việc tìm và sửa lỗi rất phức tạp và mất nhiều thời gian.
Hình 2.4. Giao diện công cụ JSLint
Thử nghiệm công cụ với hàm “sumAll” có chức năng tính tổng dãy số truyền vào và trả về kết quả như hình 2.5. Phân tích bằng JsLint được kết quả như hình 2.6. Có thể thấy biến “x”, hàm “sumAll” được sử dụng nhưng không được khai báo, thiếu “use strict” để cho biết Javascript được sử dụng trong chế độ strict và toán tử “++” có thể gây ra sự không kiểm soát với phạm vi của biến.
x = sumAll(1, 123, 500, 115, 44, 88); function sumAll() {
var i, sum = 0;
for (i = 0; I < arguments.length; i++) { sum += arguments[i];
}
return sum; }
Hình 2.5. Mã nguồn được phân tích bởi JSLint
Dựa theo cài đặt và chạy thực nghiệm công cụ có thể thấy JsLint có khả năng cảnh báo việc sử dụng biến, hàm nhưng chưa khai báo, cảnh báo các lỗi tiềm ẩn có thể xảy ra và ưu điểm lớn nhất của công cụ đó là không yêu cầu cài đặt. Tuy nhiên công cụ không kiểm tra được với dự án gồm nhiều tệp mã nguồn cùng một thời điểm và không xuất được báo cáo.