Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Объект Math - Математические вычисления




Объект Mathвключает ряд предопределенных свойств и методов. Свойствами являются определенные числа. Например, число ПИ (приблизительно 3.14159...). Свойство Math.PIиспользуется в приведенном ниже примере.

 

// Переменная radius является числовым значением.

var circleArea = Math.PI * radius * radius; // Вычисление площади круга.

 

Пример встроенного метода объекта Math: вычисление возведения в степень числа ( pow). Приведенный пример использует число ПИ и метод возведения в степень.

 

// Вычисление объема сферы в зависимости от радиуса.

volume = (4/3)*(Math.PI*Math.pow(radius,3));

 

Объект Date – Дата

Объект Dateприменяется для вывода текущей даты, а также для определения разницы между датами. Все значения методов и свойств предопределены. Вообще объект Dateпозволяет определить день недели; день, месяц, год; а также время в часах, минутах и секундах. Основанием является количество миллисекунд, прошедших с 1-го января 1970 года, 00 ч,00 мин,00.000 сек по GMT. GMT означает "Среднее Время По Гринвичу"; условно UTC, или "Универсальная Координата Времени", являющееся Международным Эталоном Времени.

Предупреждение.В JScript для обработки временных величин до полуночи 1-го января 1970 года нельзя применять объект Date. Для работы с временными данными до 1970 года необходимо написать собственные функции.

Для создания нового объекта Dateиспользуется оператор new. В следующем примере для текущего года определяется количество прошедших и оставшихся дней.

 

/* В переменной thisIsToday содержится массив для текущего момента. */

var thisIsToday = new Date();

var toDay = new Date();

// Текущаядата.

// Определение года, месяца и дня.

var thisYear = toDay.getYear() + 1900;

var thisMonth = theMonths[toDay.getMonth()];

var thisDay = thisMonth + " " + toDay.getDate() + "," + (parseInt(toDay.getYear()) + 1900);

// Определениеколичествадней.

thisDay = Math.round(Date.parse(thisDay)/8.64e7);

// То же самое для дня начала текущего года.

var firstDay = "Jan 1, " + thisYear;

firstDay = Math.floor(Date.parse(firstDay)/8.64e7);

// То же самое для дня конца текущего года.

var lastDay = "Dec 31, " + thisYear;

lastDay = Math.floor(Date.parse(lastDay)/8.64e7);

// Количество дней в году.

var daysInYear = (lastDay - firstDay) + 1;

// Определение количество прошедших и оставшихся дней.

var daysElapsed = thisDay - firstDay;

var daysLeft = daysInYear - daysElapsed;

// Комментарии.

var comment1 = daysElapsed+ " days have elapsed in the year.";

var comment2 = "That means there are " + daysLeft + " days left in " + thisYear + ".";

// Особыеслучаи.

if (daysElapsed == 0) {

       comment1 = "ПервогоЯнваря " + thisYear + " года.";

}

if (daysElapsed == 1) {

        comment1 = "Прошелодиндень.";

}

if(daysElapsed == daysInYear) {

       comment1 = thisYear + " закончен.";

}

if (daysLeft == 0) {

       comment2 = "Наилучшие пожелания в Новом Году!";

}

if (daysLeft == 1) {

       comment2 = "Остался один день в " + thisYear + " году.";

}

if (daysLeft == daysInYear) {

       comment2 = "СНовымГодом!";

}

Объект Number – Число

В дополнение к особым числовым свойствам (PI, например), доступным в объекте Math, в Microsoft JScript доступ к некоторым свойствам происходит через объект Number.

 

Свойство Описание
MAX_VALUE Наибольшее доступное число - примерно 1.79E+308; положительное или отрицательное. (Значение может изменяться в зависимости от системы.)
MIN_VALUE Наименьшее доступное число - примерно 2.22E-308; положительное или отрицательное. (Значение может изменяться в зависимости от системы.)
NaN Специальное нечисловое значение, "not a number" - НеЧисло.
POSITIVE_INFINITY Любое положительное число, большее Number.MAX_VALUE конвертируется в это значение; представляется как "Inf".
NEGATIVE_INFINITY Любое отрицательное число, меньшее -Number.MAX_VALUE конвертируется в это значение; представляется как "-Inf".

Предупреждение. Number.NaN- особое свойство, означающее нечисловое значение - "not a number." Например, деление на нуль возвращает NaN. Попытка использовать строку как число также возвращает Number.NaN. При сравнении NaNне равно ни какому-либо числу, ни самому себе. Следовательно, для проверки на результат NaN, не следует использовать сравнение с Number.NaN; для этого применяется функция isNaN().

Объекты ActiveX

Основные дополнения к языку JavaScript, сделанные корпорацией Microsoft, связаны с использованием управляющих элементов ActiveX . Эти элементы представляют собой динамические библиотеки, созданные в соответствии со стандартом COM. COM (Component Object Model) — это стандарт создания программных компонентов, рассмотрение которого выходит за рамки нашего справочника. Для наших целей вполне достаточно воспринимать элементы ActiveX как черный ящик, выполняющий определенные действия по запросу вызвавшей его программы.

Появление элементов ActiveX было порождено стремлением Microsoft создать технологию, которая могла бы успешно конкурировать с подключаемыми модулями обозревателей Netscape. Следует признать, что задача была решена исключительно удачно, т. к. в результате появился стандарт разработки платформо-зависимых программных компонентов, реализующих платформо-независимые протоколы и архитектуры.

Все элементы ActiveX при установке в системе Windows регистрируются в ее регистре. При этом в качестве уникального ключа используется GUID данного элемента, т. е. его уникальный 64-разрядный шестнадцатеричный номер.

Объект ActiveXObject используется для запуска объектов ActiveX. Он создается конструктором

 

new ActiveXObject(" сервер . класс " [," адрес "?])

 

Здесь сервер — имя COM-сервера, класс — имя класса создаваемого объекта, адрес — необязательное имя сетевого сервера, на котором должен быть создан заданный объект (может быть доменным именем или IP-адресом). Создание объекта на удаленном сервере действующими версиями JScirpt пока не поддерживается, т. е. аргумент адрес при вызове данного конструктора игнорируется.

После создания объекта ActiveX (т. е. после запуска соответствующей программы) мы можем обращаться к его методам и свойствам, используя стандартный синтаксис языка JavaScript. Встроенных свойств и методов этот объект не имеет.

Пример: если на компьютере-клиенте установлен Microsoft Word 7.0, то следующий сценарий его запустит, откроет документ Mydoc.doc, сохранит этот документ в текстовом формате и завершит работу MS Word.

 

var word = new ActiveXObject("Word.Application"); // запускает MS Word

word.Documents.Open("Mydoc.doc"); // открываетдокумент

word.ActiveDocument.SaveAs("Mydoc.txt", 4); // 4 = текстовыйформат DOS

word.Quit(); // завершает работу MS Word

 

Следует помнить, что после запуска объекта ActiveX он остается активным до закрытия окна обозревателя, из которого он был вызван. JScript не содержит стандартного средства для завершения работы этого объекта. Если мы хотим, чтобы объект прекратил работу ранее завершения работы нашего сценария, то должны вызвать соответствующий метод данного объекта (в приведенном примере это метод Quit).

Любопытно, что операция typeof возвращает для свойств и методов объектов ActiveX нестандартное значение "unknown" (видимо из-за того, что все объекты ActiveX являются наследниками COM-интерфейса IUnknown).

 

Объект Wscript

Объект Wscript позволяет скриптам "познать самих себя". Вдобавок этот объект позволяет скриптам запускать приложения и управлять ими. Основные свойства и методы этого объекта перечислены в таблице:

 

Свойство Описание
Arguments Возвращает указатель на список аргументов командной строки
FullName Возвращает имя исполняемого файла хоста и полный путь к нему (например, C:\Windows\wscript.exe)
Name Выводит замечательную надпись Windows Scripting Host
Path Определяет каталог и путь, содержащие wscript.exe или cscript.exe
ScriptFullName Возвращает полный путь и имя исполняемого в данный момент скрипта
ScriptName То же, что и ScriptFullName, но без пути
Version Возвращает версию установленного Windows Scripting Host
Метод Описание  
Метод Описание
CreateObject Создает объект по его ProgID
ConnectObject Позволяет подключиться к событиям объекта. В качестве параметра принимает объект, к которому надо подключиться и префикс соответствующих событиям процедур, реализованных в скрипте
DisconnectObject Отключает от объекта, подключенного предыдущим методом
Echo Выводит текстовую строку в cscript - в StdOut, в Wscript - в виде диалогового окна.
GetObject Позволяет получить указатель на объект из файла или объекта, указанного в параметре strProgID.
Quit Завершает скрипт
Sleep Переводит скрипт в неактивное состояние на время, указанное в миллисекундах

 

Объект WsHShell

Объект WshShell позволяет скриптам устанавливать и конфигурировать другие приложения. Он также дает возможность общаться с пользователем, изменять Реестр и находить папки. Некоторые его свойства и методы перечислены в таблице.

 

Свойство Описание
Environment Возвращает объект, который позволяет получить значения переменных среды, например var WSHShell = CreateObject("WScript.Shell"); var WshSysEnv = WshShell.Environment("Process"); WScript.Echo(WshSysEnv("windir"));
SpecialFolders Возвращает полный путь к специальным папкам типа меню Пуск. Вотсписокдоступныхпапок: AllUsersDesktop, AllUsersStartMenu, AllUsersPrograms, AllUsersStartup, Desktop, Favorites, Fonts, MyDocuments, NetHood, PrintHood, Programs, Recent, SendTo, StartMenu, Startup, Templates.
Метод Описание  
Метод Описание
Run Запускает приложение. strCommand - исполняемая команда, параметр intWindowStyle позволяет управлять положением и поведением окон, а bWaitOnReturn позволяет указать объекту WshShell, надо ли ожидать окончания выполнения запущенного приложения.
Popup Ещё один способ вывести текст в окне
CreateShortcut Создает ярлыки файлов или URL
RegRead Возвращает значение ключа или записи реестра по его имени
RegWrite Создает новые ключ или запись Реестра или записывает новое значение существующих.
RegDelete Удаляет ключ или запись реестра
LogEvent Позволяет записать сообщение в event log Windows NT или W2K или файл WSH.log в случае Windows 9х
ExpandEnvironmentStrings Позволяет раскрыть строку, содержащую переменные среды
SendKeys Позволяет эмулировать клавиатурный ввод

 

Вызов WinShell=WScript.CreateObject(“WScript.Shell”) создает экземпляр объекта WshShell.

Метод Popup() этого объекта создает диалоговое окно с заголовком для вывода текста. Его параметры:

• Текст – выводимый текст

• Таймаут – время, пока окно не будет автоматически закрыто. Если параметр равен 0, то окно закрывается пользователем при нажатии кнопки

• Заголовок – строка

• Кнопки и пиктограмма – вид пиктограммы и набор кнопок

Пиктограммы и кнопки определяются числами, для наглядности эти значения присваиваются переменным с определенными мнемоническими именами.

Константы видов пиктограмм диалогового окна:

 

Значение Описание
16 Пиктограмма "Стоп"
32 Пиктограмма "Вопрос"
48 Пиктограмма "Восклицательный знак "
64 Пиктограмма "Информация"

 

Константы видов кнопок:

Значение Описание
0 Кнопка Да
1 Кнопки Да и Прервать
2 Кнопки Прервать, Повторить и Игнорировать
3 Кнопки Да, Нет и Прервать
4 Кнопки Да и Нет
5 Кнопки Повторить и Прервать

 

Кнопки можно комбинировать, складывая константы

Вывод диалогового окна

 

var mbOKCancel=1, mbInfo=64, mbCancel=2,

Text="Test simple", Title="My Title",

WshShell=WScript.CreateObject("WScript.Shell"),

DoIt=WshShell.Popup(Text,0,Title,mbOKCancel+mbInfo);

if(DoIt==mbCancel) {

WScript.Quit();

}

WScript.Echo("Sample executed");

 

Вывод диалогового окна с приветствием

 

varOkOnly=0, Info=64;

var cmonth = new Array ("January","February","March","April",                         "May","June","July","August","September","October","November","December");

var cday=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");

var name="First ", firstname="S.", title="Welcome, "+firstname+" "+name;

var objAdr=WScript.CreateObject("WScript.Shell");

var mydate=new Date(), weekday=mydate.getDay(), day=mydate.getDate(),

                              month=mydate.getMonth(),year=mydate.getYear(),

                              text="Today is "+cday[weekday]+" "+cmonth[month]+" "+day+" "+year+"\n"+"Windows has been launched";

objAdr.Popup(text,10,title,OkOnly+Info);

 

Метод Run() предназначен для вызова программ, в частности, команд MS DOS (являющихся внешними или внутренними утилитами).

Для внешних утилит (например, sort, move и т.д.) аргумент метода – строка с именем утилиты. Для выполнения внутренней утилиты (например, dir, copy и т.д.) необходимо запустить командный процессор и передать ему внутреннюю команду. Для Windows 95/98 эта командная строка имеет вид:

C:\Windows\command.com /kdir.

Параметр /k говорит о том, что окно MS DOS не закрывается.

Для Windows 2000/XP командный процессор cmd.exe.

Чтобы не зависеть от версии Windows, следует использовать переменную окружения COMSPEC, которая содержит полное имя командного процессора

Объект WshArguments служит для доступа к набору аргументов сценария (аргументов командной строки). Его свойство length определяет число аргументов командной строки.

 

Объект FileSystemObject

Объект FileSystemObject (FSO) содержит следующие объекты и коллекции:

 

Объект/Коллекция Описание
Drive Объект. Содержит методы свойства, которые позволяют собирать информацию об устройстве.
Drives Коллекция. Содержит список устройств, связанных с системой физически или логически.
File Объект. Содержит методы и свойства для создания, удаления, копирования или перемещения файла, а также для получения информации о свойствах файла (имя, путь и т.д.).
Files Коллекция. Содержит список всех файлов, содержащихся в папке.
Folder Объект. Содержит методы и свойства для создания, копирования, удаления или перемещения папки, а также для получения информации о свойствах папки (имя, путь и т.д.).
Folders Коллекция. Содержит список всех папок внутри папки.

Методы:

BuildPath(путь,имя)

Присоединяет имя к пути файла

CopyFile (имя копируемого файла или группы файлов, имя каталога или файла копии[,булевский при знак необходимости перекрытия существующего файла при копировании] )

Копирует один или более файлов из одного положения в другое. По умолчанию последний аргумент равен true

Маска * может использоваться только в имени исходного файла. Например, можноиспользовать:

fso = CreateObject("Scripting.FileSystemObject");

fso.CopyFile ("c:\\mydocuments\\letters\\ * .doc", "c:\\tempfolder\\")

нонельзяиспользовать:

fso = CreateObject("Scripting.FileSystemObject");

fso.CopyFile ("c:\\mydocuments\\ * \\R1???97.xls","c:\\tempfolder")

CopyFolder ( имя копируемой папки, имя каталога копии [, булевский при знак необходимости перекрытия существующего каталога при копировании] )

Рекурсивно копирует папку из одного положения в другое.

Маска * может использоваться только в имени исходного файла. Например, можноиспользовать:

fso = CreateObject ("Scripting.FileSystemObject");

fso.CopyFolder ("c:\\mydocuments\\letters\\ * ","c:\\tempfolder\\")

нонельзяиспользовать:

fso = CreateObject ("Scripting.FileSystemObject");

fso.CopyFolder ("c:\\mydocuments\\ * \\ * ", "c:\\tempfolder\\")

Если имя исходной папки содержит символы маски или имя каталога – копии заканчивается символом \, то предполагается, что каталог – копия существует, и в него копируются указанные каталоги и подкаталоги. В противном случае предполагается, что имя каталога – копии есть создаваемая папка.










Последнее изменение этой страницы: 2018-04-12; просмотров: 405.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...