2013-05-01 39 views
7

Tôi đã nhìn thấy một số lạ ; vào đầu của một hàm trong một số mã plugin nguồn jQuery như thế này:Tại sao cần sử dụng dấu chấm phẩy trước khi xác định hàm?

;(function ($) {..... 

Ai đó có thể giải thích tại sao họ cần phải sử dụng ; trong trường hợp này?

+1

Đó là vì một số người chỉ không quan tâm đến chất lượng của mã họ viết. Semicolon cho phép họ thêm nội dung mới vào mã của họ mà không chú ý đến những gì trước đây. – Mike

+1

@lan xong. đánh dấu nó :) –

Trả lời

11

dấu chấm phẩy này sẽ giúp bạn nối đúng mã mới vào một tập tin khi hiện nay tồn tại mã trong tập tin này không bao gồm một ; ở cuối.

Ví dụ:

(function() { 

})() // <--- No semicolon 

// Added semicolon to prevent unexpected laziness result from previous code  
;(function ($) { 

})(); 

Nếu không có dấu chấm phẩy, thứ hai () sẽ được hiểu như là một cuộc gọi chức năng, và sẽ cố gắng gọi sự trở lại kết quả của hàm đầu tiên

+0

Tôi không nghĩ đó là lỗi cú pháp. Đó là để ngăn chặn các kịch bản thứ hai từ gọi đầu tiên. '()' gọi một hàm, đó chính xác là kịch bản thứ hai trông như thế nào – Ian

+0

Hậu quả nếu không có dấu chấm phẩy trong ví dụ này là gì ?? –

Các vấn đề liên quan