2011-08-22 35 views

Trả lời

121

Dấu chấm phẩy có trong trường hợp bạn đưa tập lệnh này vào sau tập lệnh 'không hợp lệ' không đóng đúng dòng cuối cùng bằng dấu chấm phẩy. Trong trường hợp này, có thể hai tập lệnh sẽ được kết hợp và dẫn đến mã không hợp lệ. Ví dụ: nếu bạn đang hợp nhất nhiều tập lệnh thành một câu trả lời duy nhất.

Dấu() ở cuối là thực thi hàm. Điều này đang tạo ra một sự đóng cửa. Các biến và phương thức riêng có thể được khai báo trong phạm vi chức năng này mà không thể truy cập từ bên ngoài kịch bản lệnh.

+2

Điều này không liên quan gì đến tập lệnh "không hợp lệ" - nó phải thực hiện bằng cách viết theo kiểu bán tự do. –

+84

IMHO có chữ "xấu". –

+0

@pst: tôi không hiểu. cẩn thận để xây dựng? – naveen

9

cấu trúc này:

(function(){ /* something in here */ })() 

Được sử dụng để tạo ra một phạm vi mới trong Javascript.

More info on function scope here.

Về dấu chấm phẩy, tôi chưa bao giờ thấy nó trước đây. Tôi nghĩ rằng đó là một bảo mật khi bạn nối một số tập lệnh, vì dấu chấm phẩy là tùy chọn trong một số trường hợp ở cuối tệp.

+0

Ví dụ ở đây: https://github.com/js-cookie/js-cookie/blob/latest/src/js.cookie.js –

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