Что такое «новое» ключевое слово в JavaScript?

Вот хороший учебник относительно , устанавливающий путь класса . Дальше вы можете прочитать Управление Java classpath (Windows) .

Сказав это, вы не должны устанавливать путь к классу для своего драйвера в переменной среды Windows. Вместо этого вы должны включить этот драйвер jar в свою среду IDE в свойствах проекта. Но я заметил, что вы на самом деле используете Maven. В этом случае вы должны искать драйвер под Maven, чтобы выполнить эту зависимость. Maven загрузит кувшин драйвера, если его не существует, и сделает его локальным.

В случае, если вы не используете IDE, вы можете создать каталог lib и сообщить компилятору, что все необходимые jar s находятся там, во время компиляции / выполнения. Вы можете найти КАК, в предыдущей ссылке, приведенной выше.

1651
задан Bergi 25 July 2015 в 13:42
поделиться

6 ответов

JavaScript является объектно-ориентированным языком программирования и используется именно для создания экземпляров. Он основан на прототипах, а не на классах, но это не означает, что он не объектно-ориентированный.

27
ответ дан 22 November 2019 в 20:09
поделиться

Предположим, у вас есть эта функция:

var Foo = function(){
  this.A = 1;
  this.B = 2;
};

Если вы вызываете ее как отдельную функцию, например:

Foo();

Выполнение этой функции добавит два свойства к объекту window ( A и B ). Он добавляет его в окно , потому что окно - это объект, который вызвал функцию, когда вы выполняете его таким образом, а this в функции - это объект, который вызвал функция. По крайней мере, в Javascript.

Теперь назовите это так, используя новый :

var bar = new Foo();

Когда вы добавляете new к вызову функции, создается новый объект (просто var bar = new Object () ) и что this внутри функции указывает на новый объект , который вы только что создали, а не на объект, который вызвал функцию. Итак, bar теперь является объектом со свойствами A и B . Конструктором может быть любая функция, но это не всегда имеет смысл.

Это всегда имеет смысл.

Это всегда имеет смысл.

387
ответ дан 22 November 2019 в 20:09
поделиться

поэтому, вероятно, не для создания экземпляры объекта

Он используется как раз для этого. Вы определяете конструктор функции следующим образом:

function Person(name) {
    this.name = name;
}

var john = new Person('John');

Однако дополнительным преимуществом ECMAScript является то, что вы можете расширить его с помощью свойства .prototype , поэтому мы можем сделать что-то вроде ...

Person.prototype.getName = function() { return this.name; }

Все объекты, созданные из этот конструктор теперь будет иметь getName из-за цепочки прототипов, к которой у них есть доступ.

37
ответ дан 22 November 2019 в 20:09
поделиться

Javascript - это динамический язык программирования, который поддерживает парадигму объектно-ориентированного программирования и используется для создания новых экземпляров объекта.

Классы не нужны для объектов - Javascript является прототип на языке.

14
ответ дан 22 November 2019 в 20:09
поделиться

Ключевое слово new создает экземпляры объектов, используя функции в качестве конструктора. Например:

var Foo = function() {};
Foo.prototype.bar = 'bar';

var foo = new Foo();
foo instanceof Foo; // true

Экземпляры наследуются от прототипа функции-конструктора. Итак, в примере выше ...

foo.bar; // 'bar'
1
ответ дан 22 November 2019 в 20:09
поделиться

Ключевое слово new предназначено для создания новых экземпляров объекта. И да, javascript - это динамический язык программирования, который поддерживает парадигму объектно-ориентированного программирования. По соглашению об именах объектов всегда используйте заглавную букву для объектов, которые должны быть созданы с помощью ключевого слова new.

obj = new Element();
3
ответ дан 22 November 2019 в 20:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: