Latest web development tutorials

Node.js общие инструменты

Util Node.js является основной модуль, который обеспечивает сбор наиболее часто используемых функций, используемых для составляют ядро ​​JavaScript Характеристика обтекаемый слишком неадекватным.


util.inherits

util.inherits (конструктор, superConstructor) является реализация прототипа функции наследования между объектами.

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

Здесь мы только ввести util.inherits примеры использования заключаются в следующем:

var util = require('util'); 
function Base() { 
	this.name = 'base'; 
	this.base = 1991; 
	this.sayHello = function() { 
	console.log('Hello ' + this.name); 
	}; 
} 
Base.prototype.showName = function() { 
	console.log(this.name);
}; 
function Sub() { 
	this.name = 'sub'; 
} 
util.inherits(Sub, Base); 
var objBase = new Base(); 
objBase.showName(); 
objBase.sayHello(); 
console.log(objBase); 
var objSub = new Sub(); 
objSub.showName(); 
//objSub.sayHello(); 
console.log(objSub); 

Определим базовый объект наследует от базы и базы поддерева, Базовые функции имеют три атрибуты, определенные внутри конструктора и прототипа, определенного наследования util.inherits. Результаты следующие:

base 
Hello base 
{ name: 'base', base: 1991, sayHello: [Function] } 
sub 
{ name: 'sub' }

Примечание: Sub Base только унаследовал функции , определенные в прототипе, а также внутреннюю структуру и функции для создания базы атрибута SayHello функция не Sub наследуется.

В то же время, свойства в прототипе не может быть определен как объект вывода свойство console.log. Если убрать objSub.sayHello (); Прокомментируйте эту строку, вы увидите:

node.js:201 
throw e; // process.nextTick error, or 'error' event on first tick 
^ 
TypeError: Object #<Sub> has no method 'sayHello' 
at Object.<anonymous> (/home/byvoid/utilinherits.js:29:8) 
at Module._compile (module.js:441:26) 
at Object..js (module.js:459:10) 
at Module.load (module.js:348:31) 
at Function._load (module.js:308:12) 
at Array.0 (module.js:479:10) 
at EventEmitter._tickCallback (node.js:192:40) 

util.inspect

util.inspect (объект, [showHidden], [глубина], [цветы]) является произвольный объект к способу строки, как правило, используется для отладки и вывода ошибок. Он принимает объект по меньшей мере, один объект параметра, то есть, чтобы преобразовать.

showHidden является необязательным параметром, если это правда, то выход будет больше скрытой информации.

Максимальная глубина рекурсии указывает количество слоев, если объект является сложным, вы можете указать, сколько слоев для управления выводом информации. Если вы не указываете глубину, рекурсивный слой по умолчанию 2, отображается ограниченная определяется как нуль рекурсивно пересекают объект слои нетронутыми. Если цвет истинно, формат выходного сигнала будет цветовое кодирование ANSI, то, как правило, используется для более красивого эффекта на терминале.

Особо следует отметить, что, util.inspect не просто непосредственно на объект в строку, даже если объект определяет метод ToString также не называется.

var util = require('util'); 
function Person() { 
	this.name = 'byvoid'; 
	this.toString = function() { 
	return this.name; 
	}; 
} 
var obj = new Person(); 
console.log(util.inspect(obj)); 
console.log(util.inspect(obj, true)); 

Операционные результаты:

{ name: 'byvoid', toString: [Function] } 
{ toString: 
{ [Function] 
[prototype]: { [constructor]: [Circular] }, 
[caller]: null, 
[length]: 0, 
[name]: '', 
[arguments]: null }, 
name: 'byvoid' } 

util.isArray (объект)

Если данный параметр "объект" является возвращение массив верно, в противном случае она возвращает ложь.

var util = require('util');

util.isArray([])
  // true
util.isArray(new Array)
  // true
util.isArray({})
  // false

util.isRegExp (объект)

Если данный параметр "объект" является регулярное выражение возвращает истину, в противном случае возвращает ложь.

var util = require('util');

util.isRegExp(/some regexp/)
  // true
util.isRegExp(new RegExp('another regexp'))
  // true
util.isRegExp({})
  // false

util.isDate (объект)

Если данный параметр "объект" является дата возвращает истину, в противном случае возвращает ложь.

var util = require('util');

util.isDate(new Date())
  // true
util.isDate(Date())
  // false (without 'new' returns a String)
util.isDate({})
  // false

util.isError (объект)

Если данный параметр "объект" является объектом ошибки возвращает истину, в противном случае возвращает ложь.

var util = require('util');

util.isError(new Error())
  // true
util.isError(new TypeError())
  // true
util.isError({ name: 'Error', message: 'an error occurred' })
  // false

Более подробную информацию можно получить доступ к http://nodejs.org/api/util.html для деталей.