2011-11-29 36 views
5

Tôi tự coi mình là người có khả năng hợp lý với JavaScript và quen thuộc với nhiều cách khác nhau để đạt được điều tương tự. Nhưng hôm nay tôi đã xem qua một số chức năng cú pháp mà tôi đã không nhìn thấy trước đây:Chức năng JavaScript Cú pháp Giải thích: function object.myFunction() {..}

function document.body.onload() 
{ 
    alert('loaded'); 
} 

Nếu tôi được viết mã như vậy tôi sẽ làm điều đó như thế này:

document.body.onload = function() 
{ 
    alert('loaded'); 
} 

Bỏ qua thực tế rằng đây không phải là cách tốt nhất để xử lý sự kiện onload, đây có phải là JavaScript hợp lệ không? Nó xuất hiện để gây ra lỗi cú pháp trong FireFox (và JSLint), vì vậy tôi đoán rằng đó là cú pháp chỉ Internet Explorer? Nếu đó là IE chỉ sau đó tôi muốn loại bỏ nó nhưng tôi lo ngại rằng nó có thể có một số tác dụng phụ kỳ quặc.

Trả lời

10

function document.body.onload là cú pháp JavaScript không chuẩn. Sử dụng định dạng thứ hai và bất kỳ ai đã kích hoạt mã đã viết mã gốc.

Đừng quên dấu chấm phẩy sau khi kết thúc }
document.body.onload = function() { 
    ...code... 
}; //this is easy to miss 
1

Không, nó không phải là hợp lệ. biến thể function X() {} yêu cầu tên của hàm chỉ chứa chữ cái, chữ số, '$' và '_'.

Nếu bạn muốn kiểm tra cú pháp khác, bạn có thể get the standard here, nhưng sơ đồ cú pháp ở mặt sau của JavaScript: The Good Parts dễ tiêu hóa hơn nhiều.

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