В Java все находится в форме класса.
Если вы хотите использовать любой объект, тогда у вас есть две фазы:
Пример:
Object a;
a=new Object();
То же самое для концепции массива
Item i[]=new Item[5];
i[0]=new Item();
Если вы не дают секцию инициализации, тогда возникает NullpointerException
.
require(...)
используется для загрузки модуля, возвращаемое значение require
- это модуль, который может быть любым значением javascript (зависит от загружаемого модуля).
В этом случае предполагается, что это функция.
Добавление ({})
вызывает эту функцию и передает пустой объект {}
в качестве первого и единственного аргумента.
Возвращаемое значение этого вызова функции сохраняется в переменной db
.
Это эквивалентно выполнению этого:
var database = require(__dirname + '/components/database.js');
var db = database({});
Сначала вы знаете, что в database.js существует этот код:
module.exports = function (object) {
// . . .
// some thing on object
return object;
};
, когда вам требуется этот файл JS, вы можете отправить данные объекта функции выше (пустые или не пустые)
[111 ]Когда модуль загружен (другими словами, загрузить файл javascript с использованием require (..)), он возвращает все, что назначено для module.exports, например,
//javascript file add.js
module.exports = function(a,b){
return a+b;
}
//Usage in app.js
var add = require("add.js");
var result = add(2+2);//result would be 4
//Similarly
var result = require("add.js")(2+2);//result would be 4
В вашей базе данных дел. js возвращает функцию в свой module.exports, и эта функция принимает один параметр, который является объектом.
var db = require(__dirname + '/components/database.js')({});
В приведенном выше фрагменте вы передаете пустой объект в функцию. Создатели database.js предоставили вам опции для настройки некоторых значений, что-то вроде этого
var db = require(__dirname + '/components/database.js')({
port:3306,
});
//or
var options = {};
options.port = 3306;
var Database = require(__dirname + '/components/database.js')
var db = Database(options);