Встроенные 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.2013

  • Javascript як мова програмування, заснована на об'єктах: і мовні засоби, і можливості середовища представляються об'єктами. Структура програм на мові 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.