2011-01-25 19 views
8

Có sự khác biệt nào trong việc viết javascript trong một khối tập lệnh đơn lẻ hoặc trong các khối riêng lẻ không?Có sự khác biệt nào trong việc viết javascript trong một khối tập lệnh hay nhiều khối

Viết kịch bản trong một khối duy nhất

<script type="text/javascript"> 
function funcA(){ 
//do something 
} 

function funcB(){ 
//do something 
} 
</script> 

Viết kịch bản trong một khối khác nhau

Lô 1:

<script type="text/javascript"> 
function funcA(){ 
//do something 
} 
</script> 

Khối 2:

<script type="text/javascript"> 
function funcB(){ 
//do something 
} 
</script> 
+1

Xem: http://stackoverflow.com/questions/3735406/how-many-javascript-programs-are-executed-for-a-single-web-page-in-the-browser –

+0

@ Šime Vidas, tham khảo tốt.Trợ giúp tôi để tìm hiểu những điều mới. – Hoque

Trả lời

12

Các hàm được khai báo trong khối tập lệnh trước đó chỉ có thể gọi hàm trong khối tập lệnh sau sau khi tải trang.

Ngoài ra, nếu xảy ra lỗi trong khi khối tập lệnh đầu tiên đang thực thi, khối thứ hai sẽ vẫn chạy.
Nếu bạn đặt tất cả trong một tập lệnh, bất kỳ mã nào sau khi lỗi sẽ không chạy chút nào. (ngoại trừ các khai báo chức năng)

Tất cả điều này chỉ áp dụng cho mã chạy ngay lập tức.
Mã chạy sau (ví dụ: trình xử lý sự kiện) sẽ không bị ảnh hưởng.

+0

Có, điều này được diễn đạt chính xác hơn. – user113716

+1

+1 để ghi nhận sự độc lập về lỗi – tobyodavies

0

Chỉ khác biệt hiệu suất. Một khối là hơi nhanh hơn, nhưng mã là như nhau.

+0

Tôi sai, Chuck đã viết mã khác biệt! –

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