Чтение онлайн

ЖАНРЫ

JavaScript. Подробное руководство, 6-е издание
Шрифт:

*/

var http = require('http'); // Использовать HTTP-сервер в Node

var ws = require('websocket-server'); // Использовать внешнюю библиотеку

// Прочитать исходный файл с реализацией клиента чата. Используется ниже,

var clientui = require('fs').readFileSync("wschatclient.html");

// Создать НТТР-сервер

var httpserver = new http.Server;

//
Когда HTTP-сервер получит новый запрос, будет вызвана эта функция

httpserver.on("request”, function (request, response) {

// Если запрошен ресурс "/", отправить реализацию клиента чата,

if (request.иrl === "/") { // Запрошена реализация клиента чата

response.writeHead(200, {''Content-Type”: "text/html”});

response.write(clientui); response.end;

}

else { // В ответ на любой другой запрос отправить код 404 "Not Found"

response.writeHead(404);

response.end;

}

});

// Обернуть HTTP-сервер сервером на основе веб-сокетов

var wsserver = ws.createServer({server: httpserver});

// Вызывать эту функцию при получении новых запросов на соединение

wsserver.on("connection", function(socket) {

socket.send("Добро пожаловаь в чат."); // Приветствовать нового клиента

socket.on("message", function(msg) { // Принимать сообщения от клиента

wsserver.broadcast(msg); // И рассылать их всем остальным

});

});

// Запустить сервер на порту 8000. Запуск сервера на основе веб-сокетов

// приводит также к запуску HTTP-сервера. Для его использования подключайтесь

// по адресу http://localhost:8000/ . wsserver.listen(8000);

III

Справочник по базовому JavaScript

Эта часть книги представляет собой справочник по всем классам, свойствам и методам базового прикладного программного интерфейса JavaScript. В справочнике описываются следующие классы и объекты, в алфавитном порядке:

Arguments

Array

Boolean

Date

Error

EvalError

Function

Global

JSON

Math

Number

Object

RangeError

ReferenceError

RegExp

String

SyntaxError

TypeError

URIError

Справочные

страницы с описанием методов и свойств классов отсортированы по их полным именам, включающим имена определяющих их классов. Например, чтобы найти метод replace класса String, его следует искать как String. replace, а не просто replace.

В базовом JavaScript определены некоторые глобальные функции и свойства, такие как

eval
и
NaN
. Формально они являются свойствами глобального объекта. Однако у глобального объекта нет имени, поэтому в справочнике они перечислены по их неполным именам. Для удобства полный набор глобальных функций и свойств базового JavaScript объединен в специальную справочную статью «Global» (хотя объекта или класса с таким именем нет).

Справочник по базовому JavaScript

Arguments

arguments[]

массив аргументов функции

Синтаксис

arguments

Описание

Массив

arguments[]
определен только внутри тела функции, где он ссылается на объект
Arguments
этой функции. Данный объект имеет нумерованные свойства и представляет собой массив, содержащий все переданные функции аргументы. Идентификатор
arguments
– это, по существу, локальная переменная, автоматически объявляемая и инициализируемая внутри каждой функции. Она ссылается на объект
Arguments
только внутри тела функции и не определена в глобальном программном коде.

См. также

Arguments; глава 8

Arguments

аргументы и другие свойства функции (Object->Arguments)

Синтаксис

arguments

arguments[n]

Элементы

Объект

Arguments
определен только внутри тела функции. Хотя формально он не является массивом, у него есть нумерованные свойства, действующие как элементы массива, и свойство
length
, значение которого равно количеству элементов массива. Его элементами являются значения, переданные функции в качестве аргументов. Элемент 0 - это первый аргумент, элемент 1 - второй аргумент и т. д. Все значения, переданные в качестве аргументов, становятся элементами массива в объекте
Arguments
независимо от того, присвоены ли этим аргументам имена в объявлении функции.

Поделиться с друзьями: