Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.12.2011, 03:33
Аспирант
Отправить личное сообщение для stweet Посмотреть профиль Найти все сообщения от stweet
 
Регистрация: 21.12.2011
Сообщений: 41

file.js in file.js
Час добрый.
Я в данном стандарте впервые.
Так как всё время пишу соблюдая ооп есть привычка импортов классов.
Чем являются в javascript классы - объекты уяснил. Но вот ответа на вопрос : 'Как импортировать классы из файлов?' не нашёл. Т.е. есть 3 файла:

Чего добиваюсь я:
// file1.js need object as class
function abstract ( )
{
    this.oneMethod = function ( )
    {
        // ...
        return 'hello';
    }
}



// file2.js creat new object as class.
window.onLoad = function ( )
{
    this.needObject = new abstract ( ) ;
    
    document.write ( needObject.oneMethod ( ) ) ;
}



// file.php generate index.html
<script src = 'file2.js'></script>


заранее благодарен.
Ответить с цитированием
  #2 (permalink)  
Старый 21.12.2011, 03:49
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сохранять класс в отдельный файл, получать файл аяксом.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #3 (permalink)  
Старый 21.12.2011, 04:10
Аспирант
Отправить личное сообщение для stweet Посмотреть профиль Найти все сообщения от stweet
 
Регистрация: 21.12.2011
Сообщений: 41

Блин, каким аяксом?!?!?!!!...

Вероятно мой вопрос не понятен!
У меня еть 2 файла ( javascript-а ) ; Я хочу в одном файле использовать методы другова!

первый находится в папке (пакете) js_one
второй в папке (пакете) js_two

в html добавляю только один из них который должен использовать методы второго. т.е. что бы не катать портянку кода я хочу разбить его на классы ( в вашем же случае это объекты ).
Ответить с цитированием
  #4 (permalink)  
Старый 21.12.2011, 05:01
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Подключить оба скрипта, не?
Ответить с цитированием
  #5 (permalink)  
Старый 21.12.2011, 07:50
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от FINoM
Подключить оба скрипта, не?
Я подумал о динамическом подключении...
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #6 (permalink)  
Старый 21.12.2011, 13:55
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

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

Либо использовать какие-нибудь библиотеки для модульности.

Последний раз редактировалось B@rmaley.e><e, 21.12.2011 в 15:17.
Ответить с цитированием
  #7 (permalink)  
Старый 21.12.2011, 15:11
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

видимо он хочет как в PHP подключение по требованию, в PHP есть функция __autoload() которая вызывается ядром PHP в случае если класс небыл обнаружен в памяти загруженным, тем самым можно динамично подключать класс по необходимости а не инклюдить его всегда. В JavaScript подобный способ сомневаюсь что можно реализовать без извращений, тоесть создавать экземпляр класса нужно будет не напрямую через new а через специализированную функцию, которая при необходимости подгрузит нужный класс, но тут вопрос встает с асинхронностью, что загрузка класса приведет к ступору выполнения кода, что не есть гуд конечно.
Ответить с цитированием
  #8 (permalink)  
Старый 23.12.2011, 21:01
Аспирант
Отправить личное сообщение для stweet Посмотреть профиль Найти все сообщения от stweet
 
Регистрация: 21.12.2011
Сообщений: 41

Да не, просто не знакомство с данным стандартом. Думал что можно в javascripte использовать "import need.object;"
Разобрался. Т.е. импорт классов/объектов/file.js только через html документ.

Пришёл к такому варианту:
var _allScript = ['blocks/TopBlock.js'/*, 'blocks/LeftBlock.js'*/] ;



( function ( ) 
{
	addScript ( ) ;
} )();



function addScript ( )
{
	for ( var i = 0 ; i < _allScript.length ; i ++ )
		addElement('<script type="text/javascript" src="'
			+ _allScript[i] + '"></script>');
}



function addElement ( element )
{
	document.write ( element ) ;
}


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

Помогите понять как импортировать в html javascript-ы не вписывая их индивидуально.
Заранее благодарен.
Ответить с цитированием
  #9 (permalink)  
Старый 24.12.2011, 19:03
Аспирант
Отправить личное сообщение для stweet Посмотреть профиль Найти все сообщения от stweet
 
Регистрация: 21.12.2011
Сообщений: 41

Тему можно закрывать. Разобрался, спасибо участникам за помощь!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск