Тема: JScript: хранение ресурсов в файле JScript
Довольно часто сталкиваемся с тем, что приходится в переменных хранить большие многострочные данные, которые в последующем будут использоваться в текущем js-файле без использования внешнего источника.
Рассмотрим фрагмент HTML-кода:
<html>
<head>
<title>Sample №0</title>
</head>
Стандартные способы его записи в коде:
Вариант 1:
var HTML = "<html>\
<head>\
<title>Sample №0</title>\
</head>\
";
Вариант 2:
var HTML = "<head>"+
"<title>Sample №0</title>"+
"</head>"
Вариант 3:
var HTML = ["<html>",
"<head>",
"<title>Sample №0</title>",
"</head>"].join("\n");
Я предлагаю хранить ресурсы в комментариях внутри функции:
function Resources() {
/*
<html>
<head>
<title>Sample №0</title>
</head>
<body></body>
</html>
*//*
Пример
многострочного
текста
*/
}
Эта функция содержит в себе два ресурса.
Для их извлечения воспользуемся функцией GetResource:
function GetResource(f, index)
{
var e;
try {return f.toString().replace("*//*","*/ /*").split(/\/\*|\*\//)[index*2+1]} catch (e) {}
}
Параметр f — ссылка на функцию.
Параметр index — порядковый номер ресурса.
Пример использования:
function Resources() {
/*
<html>
<head>
<title>Sample №0</title>
</head>
<body>
</body>
</html>
*/
/*
Пример
многострочного
текста
*/
}
function GetResource(o, index)
{
var e;
try {return o.toString().split(/\/\*|\*\//)[index*2+1]} catch (e) {}
}
WSH.Echo(GetResource(Resources, 1));
Это был пример функции по работе с ресурсами в образовательных целях. Далее доведем эту возможность до ума.