Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.08.2012, 10:51
Профессор
Отправить личное сообщение для bot87 Посмотреть профиль Найти все сообщения от bot87
 
Регистрация: 16.05.2011
Сообщений: 307

помогите разобратся
<script>
function Car( options ) {

  // some defaults
  this.doors = options.doors || 4;
  this.state = options.state || "brand new";
  this.color = options.color || "silver";

}

// A constructor for defining new trucks
function Truck( options){

  this.state = options.state || "used";
  this.wheelSize = options.wheelSize || "large";
  this.color = options.color || "blue";
}


// FactoryExample.js

// Define a skeleton vehicle factory
function VehicleFactory() {}

// Define the prototypes and utilities for this factory

// Our default vehicleClass is Car
VehicleFactory.prototype.vehicleClass = Car;

// Our Factory method for creating new Vehicle instances
VehicleFactory.prototype.createVehicle = function ( options ) {

  if( options.vehicleType === "car" ){
    this.vehicleClass = Car;
  }else{
    this.vehicleClass = Truck;
  }

  return new this.vehicleClass( options );

};

// Create an instance of our factory that makes cars
var carFactory = new VehicleFactory();
var car = carFactory.createVehicle( { 
            vehicleType: "car", 
            color: "yellow", 
            doors: 6 } );

// Test to confirm our car was created using the vehicleClass/prototype Car

// Outputs: true
alert( car instanceof Car ); 

// Outputs: Car object of color "yellow", doors: 6 in a "brand new" state
alert( car );
</script>

что происходит вот здесь?
VehicleFactory.prototype.vehicleClass = Car;

// Our Factory method for creating new Vehicle instances
VehicleFactory.prototype.createVehicle = function ( options ) {

  if( options.vehicleType === "car" ){
    this.vehicleClass = Car;
  }else{
    this.vehicleClass = Truck;
  }

  return new this.vehicleClass( options );

};


Почему оно не поддерживает наследование
function bl(){
	this.hoo=2
	}
	bl.prototype={rt:45}
function VehicleFactory() {}
VehicleFactory.prototype=new bl();
__________________
Я только учусь.Ногами просьба не бить

Последний раз редактировалось bot87, 20.08.2012 в 11:20.
Ответить с цитированием
  #2 (permalink)  
Старый 20.08.2012, 16:11
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Я не совсем понял вопрос. Объясните, пожалуйста, какой результат вы хотите получить и какой на самом деле выходит.
Ответить с цитированием
  #3 (permalink)  
Старый 20.08.2012, 16:16
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от oneguy
Я не совсем понял вопрос.
я вообще ничего не понял
Сообщение от oneguy
какой результат вы хотите получить
взорвать наш мозг, не?
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобратся в 2-ох вопросах kyivprogs Javascript под браузер 1 03.04.2012 13:38
помогите разобратся с arguments bot87 Общие вопросы Javascript 1 26.03.2012 15:33
Обработчик события. Помогите разобратся! lamozavrik jQuery 1 19.11.2011 15:20
Помогите плизз разобратся с массивом frolvict Общие вопросы Javascript 3 28.09.2011 21:37
Помогите разобратся с Jquery append unsiker jQuery 3 08.07.2011 22:06