2012-01-06 3 views
1

У меня очень много объектов, которые я хочу объявить. Тем не менее, я хотел бы сделать это во вспомогательном файле javascript, чтобы сохранить беспорядок в моем основном файле javascript. Как я могу сделать это, чтобы код в основном файле javascript по-прежнему имел доступ к объектам, которые я создаю во вспомогательном файле?Использование нескольких файлов javascript

+0

один файл, который имеет все ваши объекты, а другой использует их. поэтому вы добавляете 2 файла сценария – Ibu

ответ

2

Просто объявите объекты вне области действия метода, и они будут доступны по всему миру.

Auxiliary Сценарий:

object myObj; 
object myObj; 

$(document).ready(function() { 
    // Do your manipulations here if needed. 
}); 

Первичная Автор сценария:

$(document).ready(function() { 
    myObj.property = "value"; 
}); 

Кроме того, ссылки на ваш "вспомогательный" файл перед вашей основной один в вашей разметки страницы, как так:

<head> 
    ... 
    <script src="js/auxiliary.js" type="text/javascript"></script> 
    <script src="js/primary.js" type="text/javascript"></script> 
</head> 
+0

OK. Спасибо за помощь. Простой вопрос, но я новичок в программировании – WyoBuckeye

0

Вот в основном то, что я делаю (это может не сработать из коробки, но это довольно близко к тому, как это на самом деле работает для меня):

1) Создайте JS-файл с глобальной областью и объявите объект HOLD all те другие объекты:

global.js

var Registry = {}; 

Registry.object1 = { name: "Jack", age: "30" }; 
Registry.object2 = { name: "Sharon", age: "28" }; 

2) создать вторичный (вспомогательный), который использует эти объекты:

people.js

(function() { 
    console.log("Hi, "+Registry.object1.name+"! Meet "+Registry.object2.name+"! She's only "+Registry.object2.age+" years old!"); 
}); 

, который должен вывести: Hi, Jack! Meet Sharon! She's only 28 years old!

Вы бы включать global.js на каждой странице, которая содержит каждый глобальный объект, а затем использовать только вспомогательные файлы JS, когда вы нуждаетесь в них.

Основная причина, по которой я создал объект реестра для хранения остальных, - это убедиться, что никакие другие объекты в другом месте не могут конфликтовать. Если у меня есть другой объект с именем «object1» в другом месте, у вас могут быть проблемы, но если вы вставляете их в другой объект-держатель, он уверен, что конфликтов нет. (т. е. Registry.object1 отличается от object1)

Полезно отметить, что объекты могут содержать функции (которые эффективно выполняют их классы), поэтому вы можете использовать глобальные классы.

Это в основном, как я это делаю. Надеюсь, это поможет.

Удачи вам! :)

Смежные вопросы