Встроенные Javascript функции
Характеристика Javascript функции с параметрами (аргументами). Возврат значений, глобальные и локальные переменные в функции. Все способы создания пользовательских функций в Javascript. Область видимости переменных. Рекурсивная функция Javascript.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 19.09.2019 |
Размер файла | 75,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
1. Встроенные Javascript функции
javascript аргумент пользовательский рекурсивный
В JavaScript достаточно много функций, встроенных в синтаксис языка. Рассмотрим одну из них.
eval(строка)
Функция eval(строка) вычисляет выражение в указанной строке (в качестве параметра); выражение должно быть составлено по правилам языка JavaScript и не содержать тегов HTML
Рассмотрим примеры использования функции eval:
var y = 5; // значение у равно 5
var x = "if (y==5) y*2-3"; // значение х равно строке символов
var rezult = eval(x); // rezult равно 7
Задание 1
В скрипте запрашивать у пользователя ввести в диалоговое окно ввода JavaScript математическое выражение, затем это выражение должно вычисляться и результат выдаваться в диалоговом окне.
2. Пользовательские Javascript функции
Синтаксис создания функции:
1. Функция в роли процедуры. Если функция выполняет какие-либо действия и не возвращает значение:
function имя_функции(аргументы){
код;
}
Важно: Если аргументы у функции отсутствуют, то после имени функции ставятся пустые скобки ().
В javascript вызов функции в роли процедуры происходит следующим образом:
имя_функции (аргументы); // с агрументами
имя_функции (); // без аргументов
Пример:
function sayHello()
{
alert("hello");
}
//...
sayHello();
2. Если функция возвращает значение
function имя_функции(аргументы){
код;
return результат или выражение
}
Важно: В javascript return -- оператор, который завершает выполнение функции и возвращает значение
В javaScript вызов функции, возвращающей значение, происходит следующим образом:
var a = имя_функции (аргументы);
alert(a);
Пример:
function sayHello()
{
alert("1");// выполнится
return "привет!";// завершаем выполнение функции
alert("2");// не выполнится, т.к. после return
}
var a=sayHello();
alert(a);
Как видно из примера, после return функция действительно завершает свою работу. Поэтому оператор alert("2") выполняться уже не будет. Вызов же функции происходит через присваивание. Вызов в данном примере можно также организовать так: alert(sayHello()); , но это не рекомендуемый вариант.
Важно: Таким образом, оператор return указывает на возвращаемое значение функции, которое будет передано переменной при следующей форме вызова:переменная = имя_функции();
Задание 2. Дополните код согласно заданию: В переменную povtor присвоить результат выполнения функции confirm, которая принимает фразу «Пройти заполнение еще раз?»
function say() {
document.write("Вы здесь?" + "<br/>");
}
do {
say();
povtor = ...
} while (povtor);
2.Javascript функции с параметрами (аргументами) и возврат значений
Рассмотрим подробнее использование инструкции return в функции javascript на двух примерах. Кроме того, рассмотрим использование в Javascript функции с параметрами (аргументами). Функция возвращает значение undefined, но выполняет какие-то действия:
function sayHello(userName)
{
alert("Привет " + userName);
}
sayHello("Вася");
sayHello("Петя");
В примере функция имеет один аргумент, указанный в скобках. Переменная userName примет то значение, которое указано в скобках при вызове функции "Вася" и "Петя". Значит при первом вызове функция выведет в диалоговое окно Привет Вася, при втором -- Привет Петя.
функция возвращает конкретное значение:
function sayHello(userName)
{
return "Привет " + userName;
}
var a = sayHello("Вася");
alert(a);
Важно: Обратите внимание на разницу между вызовом функции без инструкции return и с инструкцией: в первом случае функция вызывается как оператор, возвращая значение undefined; во втором случае функция вызывается через присваивание, либо участвуя в выражениях.
Задание 4. Что выведет на экран следующий код?
var a = 5, b = 10, c = 20, d = 7;
function Sum1() {
var result = a + b;
document.write("Sum1: " + result + "<br/>");
}
function Sum2(x1, x2) {
var result = x1 + x2;
document.write("Sum2: " + result);
}
Sum1();
Sum2(c, d);
Задание 5. Необходимо запросить у пользователя имя. Вызывать функцию для вызова диалогового окна с сообщением «Привет, имя!»
3.Все способы создания пользовательских функций
классический синтаксис
function a1(x, y) {
return x + y;
}
явное создание объекта Function
//обязательным является только последний аргумент - тело функции
var a1 = new Function('x', 'y', 'return x + y');
или
var a1 = new Function('return "hello"');
еще один вариант создания
var a1 = function(x, y) { return x + y; };
Вызов функций во всех случаях будет:
var a = a1(3, 4);
4.Использование выражений с функциями
Обычное использование javascript функции:
function sum(arg1,arg2)
{
var a=arg1+arg2;
return a;
}
var b=sum(1,2);
alert(b);
Функция как составная часть выражения:
function sum(arg1,arg2)
{
var a=arg1+arg2;
return a;
}
var b=sum(1,2);
alert(b);
function add()
{
var c=1+sum(1,2);
return c;
}
var d=add();
alert(d);
Во второй функции используется выражение, ссылающееся на первую функцию (в 11-й строке).
Задание 6. Создать функцию, возвращающую наибольшее из трех чисел. Аргументами функции являются сами числа
Рассмотрим другие варианты использования выражений с функциями (только для функций, которые возвращают результат):
Функция:
function plRectangle(width, height){
var S = width * height;
return S
}
Варианты выражений:
1. Вызов функции как часть выражения:
S3 = 0.5 * plRectangle(a, b);
2. Вызов функции в логических выражениях
if (plRectangle(a, b) > plRectangle(c, d))
alert("Первый прямоугольник больше второго");
3. Вызов javascript функции в качестве параметра другой функции
var х = "25рх";
var у = 12;
var S = plRectangle(parselnt(x), у);
5.Область видимости переменных. Javascript глобальные и локальные переменные в функции
Область видимости переменной -- область кода, в котором переменная доступна для использования.
1. Глобальные переменные
-- создаются на уровне сценария и сохраняются до конца сценария;
-- объявляются до описания javascript функции;
-- могут быть причиной сложно находимых ошибок;
2. Локальные переменные
-- создаются внутри фрагментов кода и не видны извне;
-- явно объявляются в теле javascript функции;
-- аргументы (параметры) функции -- всегда локальные переменные;
-- лучше использовать локальные переменные, так как доступ к ним больше контролируется.
Задание 8. Дополните код согласно заданию:
Создать 2 переменные глобальной и локальной области видимости (то есть внутри функции func) с именами: global, local.
В переменную global занести текст “Привет”, в local -- “Мир”.
function func() {
}
func();
Область видимости переменных
Рассмотрим конкретные примеры области видимости переменных в javascript при использовании глобальных и локальных переменных.
function plRectangle(width, height){
var S = width * height;
return S // Локальная переменная S
}
var S = 2; // Глобальная переменная S
z = plRectangle(2, 3);
alert(z);
alert(s);
Пример: Значение z равно 6, а значение S осталось равным 2, то есть значению глобальной переменной, определенной во внешней программе
function plRectangle(width, height)
{
var s = width * height; // аргументы всегда локальны
width = width + 10;
return s
}
width = 2;
height = 3;
z = plRectangle(width, height);
alert(z);
alert(width);
Пример: Значение z равно 6; значение переменной widthравно 2, то есть осталось без изменений
function plRectangle(width, height)
{
S = width * height;
return S // S - глобальная переменная (т.к. без определения var)
}
var z = plRectangle(2, 3);
alert(z);
alert(S);
Пример: Значения и z и S равны 6; S -- глобальная переменная
function Plrectangle(width, height){
S = width * height;
return S
}
z = Plrectangle(2, 3);
S=2;
alert(z);
alert (S);
Пример: Значение z равно 6, а значение S осталось равным 2, то есть значению глобальной переменной, определенной во внешней программе
function plRectangle(width, height)
{
var S = width * height;
var x = 17;
return S
}
z = plRectangle(2,3);
alert(z);
alert(x); // Локальная переменная x
alert (S); // Локальная переменная S
Пример: Значение z равно 6; переменная S во внешней программе не определена; переменная х во внешней программе не определена
Задание 9. Что выведет на экран следующий код?
var variable = "Глобальная переменная";
function f() {
var variable = "Локальная переменная";
document.write(variable + "<br/>");
}
f();
document.write(variable);
6.Рекурсивная функция javascript
Важно: В информатике и программировании, а, соответственно, и в javascript, рекурсия -- это вызов функции из самой же функции, т.е. функция в функции
Бывают также косвенная или сложная рекурсия, когда функция вызывается не непосредственно из самой себя, а из вложенной в нее функции: например, функция A вызывает функцию B, а функция B -- функцию A. Количество вложенных вызовов функции или процедуры называется глубиной рекурсии.
Рекурсия javascript рассмотрена ниже на примере возведения числа в степень.
Для начала рассмотрим итерационный вариант возведения в степень, т.е. с использованием цикла:
Пример: выполним возведение числа в степень через рекурсию:
var chislo,stepen;
function degree(chislo,stepen) {
if(stepen) {
return chislo*degree(chislo,stepen-1);
}
return 1;
}
document.write(degree(2,4)); // выводит 16
Задание 10. Что выведет на экран следующий код?
function f(counter) {
counter--;
document.write(counter + "<br/>");
if (counter != 0)
f(counter);
document.write(counter + "<br/>");
}
f(2);
В сумме учитывать все слагаемые, модуль которых больше ?. С помощью Cos1 найти приближенное значение косинуса для данного х при шести данных ?.
Размещено на Allbest.ru
Подобные документы
Сравнительная характеристика, возможности и функции языков программирования JavaScript и PHP. Основные области их использования. Разработка интерактивного Web-приложения с применением JavaScript на примере теста по теме "Программирование на языке Delphi".
курсовая работа [19,3 K], добавлен 01.07.2014Создание интерактивных веб-страниц. Что такое JavaScript. Полная интеграция с браузером. Мощные средства для создания сетевых соединений. Подключение и выполнение JavaScript. Загрузка данных без перезагрузки страницы. Объекты для работы с мультимедиа.
лекция [16,2 K], добавлен 05.02.2012Освоение принципов написания клиентских сценариев JavaScript, управляемых событиями. Связь собственной функции JavaScript с обрабатываемым событием. Оформление ссылок в виде графических кнопок, изменяющих свой вид при наведении на них указателя мыши.
лабораторная работа [605,9 K], добавлен 25.05.2016Назначение и применение JavaScript, общие сведения. Понятие объектной модели применительно к JavaScript. Размещение кода на HTML-странице. URL-схема. Вставка (контейнер SCRIPT, принудительный вызов интерпретатора). Программирование свойств окна браузера.
лекция [517,1 K], добавлен 09.03.2009Размещение кода скрипта JavaScript непосредственно на HTML-странице. Сценарий JavaScript и список основных событий. Полезные конструкции на PHP. Некоторые функции для работы с массивами. Фрагмент кода JavaScript из "Эконометрической модели России".
презентация [331,2 K], добавлен 25.09.2013Javascript як мова програмування, заснована на об'єктах: і мовні засоби, і можливості середовища представляються об'єктами. Структура програм на мові Javascript. Декларація змінних та сфер їх впливу. Типи даних та їх використання. Пріоритети операцій.
курсовая работа [51,4 K], добавлен 12.12.2010Особенности составления программы (сценария) на языке JavaScript. Построение выражений из литералов, переменных, знаков операций, скобок. Элементы, используемые для хранения данных. Приоритет операций, порядок, в котором выполняются операции в выражении.
лабораторная работа [40,2 K], добавлен 19.09.2019Изучение создания скриптов на JavaScript. Разработка программы выдачи простого предупреждения по событию Click при выборе гипертекстовой ссылки. Применение контейнера SCRIPT для размещение JavaScript-кода. Получение типа программы просмотра HTML-страниц.
контрольная работа [21,1 K], добавлен 15.02.2010Області застосування JavaScript. Об'єктна модель документа. Ієрархічна структура моделі та їх взаємозв'язки з іншими об'єктами. Іменування об'єктів і точковий синтаксис. Розміщення сценаріїв у документах. Способи визначення моменту запуску сценарію.
реферат [26,5 K], добавлен 20.08.2011Типизация данных в JavaScript. Правила объявления локальных и глобальных переменных. Объявление и использование функций. Открытие и закрытие файла, запись в него и чтение из него. Создание теста с использованием средств языка программирования PHP скрипт.
контрольная работа [73,8 K], добавлен 25.01.2016