Il miglior tutorial Node.js strumenti comuni Nel 2024, in questo tutorial puoi imparare util.inherits,util.inspect,util.isArray (oggetto),util.isRegExp (oggetto),util.isDate (oggetto),util.isError (oggetto),
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 (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 Objectitjs (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 (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' }
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
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
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
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 per i dettagli.