Tôi tự hỏi nếu nó có hiệu quả hơn hay ít hơn để đóng gói phần chính của mã JavaScript của bạn trong một đối tượng? Bằng cách này, toàn bộ phạm vi của chương trình của bạn sẽ được tách ra khỏi các phạm vi khác như cửa sổ.Việc đóng gói mã Javascript trong các đối tượng có ảnh hưởng đến hiệu suất không?
Ví dụ, nếu tôi có đoạn mã sau vào một tập tin JavaScript:
/* My main code body. */
var somevar1=undefined;
var somevar2=undefined;
var somevarN=undefined;
function somefunction(){};
function initialize(){/* Initializes the program. */};
/* End main code body. */
tôi thay vì có thể gói gọn cơ thể mã chính trong một đối tượng:
/* Encapsulating object. */
var application={};
application.somevar1=undefined;
application.somevar2=undefined;
application.somevarN=undefined;
application.somefunction=function(){};
application.initialize=function(){/* Initializes the program. */};
Logic của tôi là vì JavaScript tìm kiếm thông qua tất cả các biến trong một phạm vi cho đến khi tìm thấy đúng, giữ cho các hàm và biến cụ thể của ứng dụng trong phạm vi riêng của chúng sẽ tăng hiệu quả, đặc biệt nếu có nhiều hàm và biến.
Mối quan tâm duy nhất của tôi là thực hành không tốt hoặc có thể điều này sẽ làm tăng thời gian tra cứu các biến và chức năng bên trong phạm vi "ứng dụng" mới. Nếu đây là hành vi xấu hoặc hoàn toàn vô dụng, xin vui lòng cho tôi biết! Cảm ơn bạn!
Không, điều này sẽ nhanh như chớp. [Và đừng lo lắng về loại công cụ này] (http://c2.com/cgi/wiki?PrematureOptimization), chỉ cần viết mã có thể đọc và chức năng. Hiệu suất là một vấn đề khi hiệu suất trở thành một vấn đề. –
Tôi khá chắc chắn rằng mỗi số nhận dạng có địa chỉ riêng của nó vì vậy tôi nghĩ rằng suy nghĩ của bạn sẽ không làm được gì nhiều trừ khi tệp tập lệnh được looped bởi một chuỗi con. –
Ngay cả khi điều này tăng tốc hiệu suất, viết mã theo cách này sẽ làm cho chương trình của bạn khó đọc và sửa đổi hơn, điều này sẽ ảnh hưởng đến hiệu suất của bạn (hoặc bất kỳ ai khác đang đọc) khi quản lý nó. – Goodword