Прямое объявление на Javascript

Фоновое

Я создаю приложение на основе javascript, которое по-разному работает на мобильных и настольных устройствах. Однако, за исключением манипуляции с DOM, большинство кода распространено между обеими платформами, так что я структурировал все файлы подобным образом: * foo.core.js * foo.mobile.js * foo.web.js

И в надежде использовать объектно-ориентированные методы для написания более чистого кода.

Проблема:

У меня есть два JavaScript-файла, с классами

Файл 1:

function ClassA()
{}

ClassA.prototype.foo = function(){};

GreatGrandChildA.prototype = new GrandChildA(); // this is where the error is
function GreatGrandChildA ()
{}

Файл 2:

ChildA.prototype = new ClassA();
function ChildA () // ChildA inherits ClassA
{}

GrandChildA.prototype = new ChildA()
function GrandChildA () // GrandChildA inherits ClassA
{}

Обычно, на языке типа C++, я бы объявил GrandChildA прямо в файле 1. Хотелось бы знать, как это сделать в Javascript

Edit:

Если я сделаю один файл, содержащий все четыре класса - в том же порядке, в котором они загружаются, то пример работает в точности так, как и ожидалось:

http://jsfiddle.net/k2XKL/

6
задан antileet2 19 September 2011 в 11:38
поделиться