November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Style Credit

Expand Cut Tags

No cut tags
Tuesday, October 18th, 2005 01:55 pm
потому что описание объектов делать посредством функций - такого нормальный человек точно придумать не может..
function SomeObject() {
  this.member = ...
}

и потом
var o = new SomeObject()
[identity profile] kuso [npj.ru] (from livejournal.com)
Tuesday, October 18th, 2005 02:04 pm (UTC)
Неплохое решение конструктора класса, на мой взгляд, довольно эргономичное.
Tuesday, October 18th, 2005 02:08 pm (UTC)
Угу, только пространства имен немножко пересекаются, и при чтении путаница происходит, а так, конечно, ничего..
[identity profile] kuso [npj.ru] (from livejournal.com)
Tuesday, October 18th, 2005 02:13 pm (UTC)
Пространства чего?

В JS единое пространство для всех переменных. Функции и прочие объекты (функция -- разновидность объекта) -- разновидность переменных.

Поэтому некоторый-строковый-идентификатор всегда будет указывать на одну сущность. Это, на мой взгляд, хорошо (хорошо, что не бывает var foo и foo() как двух совершенно независимых сущностей).

Путаница от синтаксиса
function someClass() { ... }?

Можно использовать, скажем:
someClass.prototype.someMethod = function() {...}
или
someClass.prototype = { property: "value", method : function() {...} };