Признает ли NetBeans наследование прототипов JavaScript? - PullRequest
0 голосов
/ 25 декабря 2010

Распознает ли NetBeans наследование прототипов JavaScript? Мне кажется, что это не так:

Код:

function A() {} 
A.prototype.doSomething = function () {} 

function B() {} 
B.prototype = new A(); 

var test = new B(); 
test.

после ввода точки и нажатия ctrl + пробел я не вижу метода doSomething () - но все в B покрыто (хотя в этом примере ничего).

Ответы [ 2 ]

1 голос
/ 25 декабря 2010

NetBeans, будучи Java IDE, действительно не работает полностью с JS,

наследование прототипа, являющееся одной из этих вещей.

Справедливости ради - я не вижу в этом общей или критической проблемы.

0 голосов
/ 26 февраля 2011

Да, это так (по крайней мере, 7.0 бета2)! Вы должны использовать синтаксис prototype.js для расширения классов, но вы можете скрыть его в условном условии (false), поэтому вам не нужен prototype.js на самом деле ...

Ваш пример будет выглядеть так:

function A() {} 
A.prototype.doSomething = function () {} 

function B() {} 
B.prototype = new A(); 
// here is the magic trick
if (false) var B = Class.create(A, {});

var test = new B(); 

Вы можете использовать любой из них:

  • var B = Class.create(A, {})
  • var B = Object.extend(new A(), {});

Как примечание, весь DOM построен на наследовании, подобном классу, поэтому для IDE очень важно правильно его поддерживать!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...