Latest web development tutorials

Node.js wspólnych narzędzi

util node.js jest moduł podstawowy, który stanowi zbiór najczęściej używanych funkcji, wykorzystywanych do sporządzenia rdzeń JavaScript funkcje zoptymalizowane za niewystarczające.


util.inherits

util.inherits (konstruktor, superkonstruktor) jest realizacja dziedziczenia prototypu funkcji między obiektami.

cechy obiektowe z JavaScript jest prototyp na bazie, w przeciwieństwie do wspólnej klasy oparte. JavaScript nie przewiduje obiekty języka na poziomie dziedziczą właściwości, ale kopiując prototyp do osiągnięcia.

Tutaj mamy tylko wprowadzić util.inherits przykłady użycia, są następujące:

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

Definiujemy obiekt bazowy dziedziczy z bazy i podstawy Sub, funkcje bazowe mają trzy atrybuty zdefiniowane w konstruktorze i prototypu zdefiniowanej przez util.inherits dziedziczenia. Wyniki przedstawiają się następująco:

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

Uwaga: Sub bazowa tylko dziedziczone funkcje zdefiniowane w prototypie, a wewnętrzną strukturę i funkcje do tworzenia bazy atrybutów sayHello funkcja nie zostały Sub dziedziczone.

Tymczasem właściwości w prototypie nie może być określone jako przedmiot produkcji właściwość console.log. Jeśli usuniemy objSub.sayHello (); Skomentuj tę linię, widać:

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 (obiekt, [showHidden], [głębi], [kolory]) jest dowolnym obiektem sposobu strun, zazwyczaj używany do debugowania i wyjście błędu. Przyjmuje przedmiot oddalony o przynajmniej jeden obiekt parametru, czyli do konwersji.

showHidden parametr jest opcjonalny, jeśli jest prawdziwa, to wyjście będzie bardziej ukryte informacje.

Maksymalna głębokość rekursji oznacza liczbę warstw, jeśli obiekt jest złożony, można określić, jak wiele warstw kontrolować informacji wyjściowych. Jeśli nie zostanie określona głębokość, rekurencyjnej domyślną warstwę 2, wskazuje na ograniczone określona jako zerowa rekurencyjnie przemierzać warstwy obiektów nienaruszone. Jeśli kolor jest prawdą, format wyjściowy będzie w ANSI kodowania kolorami, jest powszechnie stosowany do bardziej piękny efekt na terminalu.

Szczególnie ważne jest to, że util.inspect nie tylko bezpośrednio na obiekt, do ciągu, nawet jeśli obiekt określa sposób toString również nie jest wywoływana.

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

Wyniki operacyjne są następujące:

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

util.isArray (object)

Jeśli dany parametr "obiekt" jest return array prawdą, w przeciwnym razie zwraca false.

var util = require('util');

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

util.isRegExp (object)

Jeśli dany parametr "obiekt" jest wyrażeniem regularnym zwraca wartość true, w przeciwnym razie zwraca false.

var util = require('util');

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

util.isDate (object)

Jeśli dany parametr "obiekt" jest datą zwraca wartość true, w przeciwnym razie zwraca false.

var util = require('util');

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

util.isError (object)

Jeśli dany parametr "obiekt" jest obiektem błędu zwraca wartość true, w przeciwnym razie zwraca false.

var util = require('util');

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

Więcej szczegółów można uzyskać http://nodejs.org/api/util.html szczegóły.