Latest web development tutorials

Node.js strumenti comuni

util Node.js è un modulo di base che fornisce un insieme di funzioni di uso comune, utilizzati per rendere il nucleo JavaScript caratteristiche semplificato troppo inadeguata.


util.inherits

util.inherits (costruttore, supercostruttore) è un'implementazione di un patrimonio prototipo di funzione tra gli oggetti.

caratteristiche object-oriented di JavaScript è un prototipo basato su, a differenza di base di classe comune. JavaScript non fornisce oggetti a livello di linguaggio ereditano le proprietà, ma copiando il prototipo di raggiungere.

Qui introduciamo solo util.inherits esempi di utilizzo sono i seguenti:

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); 

Definiamo un oggetto base eredita da Base e Base di un sub, le funzioni di base hanno tre attributi definiti all'interno del costruttore e un prototipo definito da util.inherits successione. I risultati sono i seguenti:

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

Nota: Base Sub ereditato solo le funzioni definite nel prototipo, e la struttura interna e la funzione per creare la base di attributo sayHello funzione non sono state Sub ereditato.

Nel frattempo, le proprietà del prototipo non possono essere definiti come oggetto di uscita struttura console.log. Se togliamo objSub.sayHello (); commentare questa linea, si vedrà:

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 (oggetto, [showHidden], [profondità], [i colori]) è un oggetto arbitrario a un metodo di stringa, tipicamente utilizzati per il debug e output degli errori. Esso accetta un oggetto almeno un oggetto parametro, cioè convertire.

showHidden è un parametro opzionale, se è vero, l'uscita sarà informazioni più nascosto.

Profondità massima di ricorsione indica il numero di strati, se l'oggetto è complesso, è possibile specificare quanti strati di controllare l'output di informazioni. Se non si specifica una profondità, ricorsiva layer di default 2, mostra un numero limitato valorizzato a NULL in modo ricorsivo attraversare i livelli di oggetti intatti. Se il colore è vero, il formato di uscita sarà in codice colore ANSI, è generalmente utilizzato per una più bella effetto sul terminale.

Di particolare nota è che, util.inspect non solo direttamente all'oggetto di una stringa, anche se l'oggetto definisce il metodo toString inoltre, non è chiamato.

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)); 

I risultati di gestione sono:

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

util.isArray (oggetto)

Se il parametro dato "oggetto" è un ritorno matrice vero, altrimenti restituisce falso.

var util = require('util');

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

util.isRegExp (oggetto)

Se il parametro dato "oggetto" è un'espressione regolare restituisce vero, altrimenti restituisce false.

var util = require('util');

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

util.isDate (oggetto)

Se il parametro dato "oggetto" è una data restituisce vero, altrimenti restituisce false.

var util = require('util');

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

util.isError (oggetto)

Se il parametro dato "oggetto" è un oggetto di errore restituisce vero, altrimenti restituisce false.

var util = require('util');

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

Maggiori dettagli possono essere accessibili http://nodejs.org/api/util.html per i dettagli.