2013-05-28 2 views
2
function Box(width, height) 
{ 
    this.width = width; 
    this.height = height; 
} 

var myBox = new Box(5,5); 
  1. Что это new ключевое слово здесь делает технически? Создает ли она новую функцию? Или он создает новый объект и применяет к нему функцию?Что это значит в функции JavaScript?

  2. Если это так, то это способ создать «ящик», означает ли это, что ключевое слово this действительно ссылается на объект myBox?

+0

Смотрите здесь: http://escrow.aliexpress.com //www.quirksmode .org/js/this.html –

+1

Основные принципы объектно-ориентированной программы ING. лучше найти хорошее руководство для начинающих oop – Sharky

+0

Я голосую, чтобы закрыть это как не настоящий вопрос, потому что он слишком широк ИМО. – zzzzBov

ответ

9

Это новый объект, в качестве его конструктора используется Box. Значение thisв этом случае (когда функция вызывается с ключевым словом new) - это новый экземпляр, который строится. Этот новый объект будет наследовать от того, что определено как Box.prototype (по умолчанию Object.prototype).

Я сказал в этом случае, потому что в JavaScript значение this определяется как функция вызывается. Я рекомендую прочитать MDN page on this для получения дополнительной информации.


Примечание: если этот вопрос предполагается закрытым, он должен был быть дубликатом. Вот некоторые возможные дублирующие ссылки, которые также могут помочь вам:

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