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 файла ( javascript-а ) ; Я хочу в одном файле использовать методы другова! первый находится в папке (пакете) js_one второй в папке (пакете) js_two в html добавляю только один из них который должен использовать методы второго. т.е. что бы не катать портянку кода я хочу разбить его на классы ( в вашем же случае это объекты ). |
Подключить оба скрипта, не?
|
Цитата:
|
Вы можете использовать подключить на страницу оба, а потом спокойно использовать во втором функции / объекты первого.
Либо использовать какие-нибудь библиотеки для модульности. |
видимо он хочет как в PHP подключение по требованию, в PHP есть функция __autoload() которая вызывается ядром PHP в случае если класс небыл обнаружен в памяти загруженным, тем самым можно динамично подключать класс по необходимости а не инклюдить его всегда. В JavaScript подобный способ сомневаюсь что можно реализовать без извращений, тоесть создавать экземпляр класса нужно будет не напрямую через new а через специализированную функцию, которая при необходимости подгрузит нужный класс, но тут вопрос встает с асинхронностью, что загрузка класса приведет к ступору выполнения кода, что не есть гуд конечно.
|
Да не, просто не знакомство с данным стандартом. Думал что можно в 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-ы не вписывая их индивидуально. Заранее благодарен. |
Тему можно закрывать. Разобрался, спасибо участникам за помощь!
|
| Часовой пояс GMT +3, время: 14:47. |