Объекты и функции

Содержание

Слайд 2

Что такое массивы?

Что такое массивы?

Слайд 3

Что такое объекты? Объект – это набор пар «ключ» (название поля) – «значение»

Что такое объекты?

Объект – это набор пар «ключ» (название поля) –

«значение»
Слайд 4

Создание объекта var obj1 = new Object(); var obj2 = {};

Создание объекта

var obj1 = new Object();
var obj2 = {};
var obj3 =

{field1: “value1”, field2: “value2”};
var cat = {legs: 4,
tails: 1,
name: “Барсик”,
age: 3};

Равнозначные способы создания объектов без свойств

Инициализация объекта значениями

Слайд 5

Обращение к полям объекта (чтение) var cat = {legs: 4, tails:

Обращение к полям объекта (чтение)

var cat = {legs: 4,
tails: 1,

name: “Барсик”,
age: 3};
alert( cat.legs ); // 4
alert( cat.name ); // Барсик
alert( cat.age ); // 3
alert( cat.surname ); // undefined
alert( cat.weight ); // undefined
Слайд 6

Обращение к полям объекта (запись) var cat = {legs: 4, tails:

Обращение к полям объекта (запись)

var cat = {legs: 4,
tails: 1,

name: “Барсик”,
age: 3};
alert( cat.legs ); // 4
cat.legs = 3;
alert( cat.legs ); // 3
cat.name = “Машка”;
alert( cat.name ); // Машка
alert( cat.weight ); // undefined
cat.weight = 2.6;
alert( cat.weight ); // 2.6
Слайд 7

Обращение к полям объекта (альтернативный синтаксис) var cat = {legs: 4,

Обращение к полям объекта (альтернативный синтаксис)

var cat = {legs: 4,
tails:

1,
name: “Барсик”,
age: 3};
alert( cat[“name”] ); // Барсик
alert( cat[“tails”] ); // 1
cat[“age”] = 4;
alert( cat[“age”] ); // 4
alert( cat.age ); // 4
alert(cat["age"] === cat.age); // true
Слайд 8

Обращение к полям объекта var cat = {legs: 4, tails: 1,

Обращение к полям объекта

var cat = {legs: 4,
tails: 1,
name:

“Барсик”,
age: 3};
var name = “age”;
alert( cat.name ); // Барсик
alert( cat[name] ); // 3
alert( cat[“name”] ); // Барсик
Слайд 9

Обход элементов массива var arr = [1, 3, 5, 7, 9,

Обход элементов массива

var arr = [1, 3, 5, 7, 9, 122,

2424];
//привычный способ
for(var i = 0; i < arr.length; i++)
{
alert(arr[i]);
}
//новый способ
for(var i in arr)
{
alert(arr[i]);
}
Слайд 10

Обход свойств и значений объекта var cat = {legs: 4, tails:

Обход свойств и значений объекта

var cat = {legs: 4,
tails: 1,

name: “Барсик”,
age: 3};
for(var field in cat)
{
alert(field + “ : ” + cat[field]);
}
// legs : 4
// tails : 1
// name: Барсик
// age : 3
Слайд 11

Функции

Функции

Слайд 12

Объявление функции function имя_функции(аргументы) { тело функции } Пример function sayHello()

Объявление функции

function имя_функции(аргументы)
{
тело функции
}
Пример
function sayHello()
{
alert(“Hello!”);
}
function sum(a, b)
{
return a + b;
}

Слайд 13

Вызов объявленной функции function sayHello() { alert(“Hello!”); } function sum(a, b)

Вызов объявленной функции

function sayHello()
{
alert(“Hello!”);
}
function sum(a, b)
{
return a + b;
}
var a =

sum(5, 3);
alert(a); // 8
sayHello(); // Hello!
Слайд 14

Вызов функции с другим количеством аргументов function alertArguments(a,b,c) { alert(a +

Вызов функции с другим количеством аргументов

function alertArguments(a,b,c)
{
alert(a + ", " +

b + ", " + c);
}
alertArguments(1,2,3); // 1,2,3
alertArguments(1,2); // 1,2,undefined
alertArguments(1); // 1, undefined,undefined
alertArguments(); // undefined,undefined,undefined
alertArguments(1,2,3,4,5,6,7); //1,2,3
Слайд 15

Неопределенное количество аргументов Перед входом в тело функции автоматически создается объект

Неопределенное количество аргументов

Перед входом в тело функции автоматически создается объект arguments,

который содержит все аргументы, переданные в функцию
function alertAllArguments()
{
for(var i = 0; i < arguments.length; i++)
{
alert(i + “ : ” + arguments[i]);
}
}
alertAllArguments(1, 3, “Hello”, true);
// 0 : 1
// 1 : 3
// 2 : Hello
// 3 : true
Слайд 16

Что такое функция? Функции в JavaScript – экземпляры встроенного класса Function

Что такое функция?

Функции в JavaScript – экземпляры встроенного класса Function
Следовательно, функции

могут передаваться в качестве аргументов других функций, записываться в переменные и т.д. (аналогично любым другим типам данных)
Слайд 17

Хранение функции в переменной function alertArguments(a,b,c) { alert(a + ", "

Хранение функции в переменной

function alertArguments(a,b,c)
{
alert(a + ", " + b +

", " + c);
}
var f = alertArguments;
f(1,2,3); // 1,2,3
alertArguments(1,2,3); // 1,2,3
Слайд 18

Передача функции в качестве аргумента другой функции function sayHello() { alert(“Hello!”);

Передача функции в качестве аргумента другой функции

function sayHello()
{
alert(“Hello!”);
}
function sayGoodbye()
{
alert(“Goodbye!”);
}
function callFunction(f)
{
f();
}
callFunction(sayHello); //

Hello!
callFunction(sayGoodbye); // Goodbye!
Слайд 19

«Анонимные» функции var x = function(){ alert(“Вызов анонимной функции!”); }; x();

«Анонимные» функции

var x = function(){
alert(“Вызов анонимной функции!”);
};
x(); // Вызов анонимной функции!
function

callFunction(f)
{
f();
}
callFunction(function(){
alert( “Вызов анонимной функции, переданной в ” + “качестве аргумента” );
});
//Вызов анонимной функции, переданной в качестве аргумента