In [3]:
function printLogo() {
console.log("Основы JavaScript");
console.log("Курсы Веб-программирования");
}
printLogo()
Out[3]:
Используя конструктор для обьекта функции
var print = new Function("console.log('Hello')");
С помошью обьявления функции
function print() { console.log("Hello") };
С помошью выражения функции
var print = function() { console.log("Hello") };
var print = function printFunc() { console.log("Hello") };
;
)Эти действия вызовут код функци на исполнение:
Функция может вызывать:
In [4]:
function printLogo() {
console.log('---------------');
console.log('Веб программирование');
console.log('ННГУ им.Лобачевского');
console.log('---------------');
}
function anotherPrint() {
printLogo();
// попробуйте anotherPrint();
}
anotherPrint();
Out[4]:
Number
, String
, Object
, Array
, и.т.д.Function
(другой функцией)
In [6]:
function printSign(number) {
if (number > 0) {
console.log("Положительное");
} else if (number < 0) {
console.log("Отрицательное");
} else {
console.log("Ноль");
}
}
printSign(3)
printSign(-3)
printSign(0)
Out[6]:
In [12]:
function printMax(x, y) {
var max;
x = +x; y = +y;
max = x;
if (y > max) {
max = y;
}
console.log(`Maximal number: ${max}`);
}
printMax(2, 4)
Out[12]:
In [13]:
function printSign(number) {
number = +number;
if (number > 0) {
console.log(`Число ${number} положительное.`);
} else if (number < 0) {
console.log(`Число ${number} отрицательное.`);
} else {
console.log(`Число ${number} ноль.`);
}
}
printSign(-5);
//printSign(balance);
printSign(2 + 3);
printMax(100, 200);
//printMax(oldQuantity * 1.5, quantity * 2);
Out[13]:
создание функции, которая выводит треугольник из цифр:
n = 6 n = 5
1
1 2 1
1 2 3 1 2
1 2 3 4 1 2 3
1 2 3 4 5 1 2 3 4
1 2 3 4 5 6 1 2 3 4 5
1 2 3 4 5 1 2 3 4
1 2 3 4 1 2 3
1 2 3 1 2
1 2 1
1
In [16]:
function pringTriangle(n) {
var line;
n = +n;
for (line = 1; line <= n; line += 1) {
printLine(1, line);
}
for (line = n-1; line >= 1; line -= 1) {
printLine(1, line);
}
}
function printLine(start, end) {
var line = "",
i;
start = +start; end = +end;
for (i = start; i <= end; i += 1){
line += " " + i;
}
console.log(line);
}
pringTriangle(10)
Out[16]:
In [17]:
function printArguments() {
var i;
for(i in arguments) {
console.log(arguments[i]);
}
}
printArguments(1, 2, 3, 4);
Out[17]:
In [62]:
function printArguments() {
var i,
args;
args = [].slice.apply(arguments);
for(i in args) {
console.log(args[i]);
}
}
printArguments(1, 2, 3, 4); //1, 2, 3, 4
printArguments([1, 2, 3, 4, 5], 'Stirng', new Object(), new Date());
Out[62]:
Каждая фыункция в JavaScript возвращает значения
undefined
если не указывается возвращаемое значениеМожет быть любым типом
Number
, String
, Object
, Function
var head = arr.shift();
var price = getPrice() * quantity * 1.20;
var noValue = arr.sort();
Функции могут возвращать любой тип данных:
Number
, String
, Object
, и.т.д.return
ключевое слово для возвращения результата
In [24]:
function multiply(firstNum, secondNum) {
return firstNum * secondNum;
}
function sum(numbers) {
var sum = 0, number;
for(number of numbers){
sum += number;
}
return sum;
}
console.log(multiply(2,6))
console.log(sum([2,4,5,7,8]))
Out[24]:
return
утверждениеreturn
утверждение:return;
Return может быть указано сколько угодно раз внутри функции
Проверка числа на простоту:
In [27]:
function isPrime(number){
var divider,
maxDivider;
number = +number;
maxDivider = Math.sqrt(number);
for(divider = 2; divider <= maxDivider; divider += 1){
if(number % divider === 0) {
return false;
}
}
return true;
}
isPrime(4)
Out[27]:
In [28]:
function sum(numbers) {
var number,
sum = 0;
for (number of numbers) {
if (0 === number % 2) {
sum += number;
}
}
return sum;
}
sum([2,5,3,7,3,7,3])
Out[28]:
In [61]:
var arr = [1, 2, 3, 3, 4, 3, 5, 3, 6, 7];
function countOccurences(value) {
var i,
count = 0;
for (i = 0; i < arr.length; i++) {
if (arr[i] === value) count++;
}
return count;
}
countOccurences(3)
Out[61]:
arr
определена в глобальной области видимости (это значит может использоваться везде)count
обьявлена внутри countOccurences
и может использоваться только внутри нееvar
перед count
In [63]:
function print(number) {
console.log(`Number: ${number}`);
}
function print(number, text) {
console.log(`Number: ${number}\nText: ${text}`);
}
print(2);
Out[63]:
In [64]:
function printText (number, text) {
switch (arguments.length) {
case 1 : console.log (`Number: ${number}`);
break;
case 2 :
console.log (`Number: ${number}`);
console.log (`Text: ${text}`);
break;
}
}
printText (5); //logs 5
printText (5, "Lorem Ipsum"); //logs 5 and Lorem Ipsum
Out[64]:
In [65]:
function printValue (value) {
switch (typeof value) {
case "number" : console.log (`Number: ${value}`); break;
case "string" : console.log (`String: ${value}`); break;
case "object" : console.log (`Object: ${value}`); break;
case "boolean" : console.log (`Number: ${value}`); break;
}
}
printValue (5);
printValue ("Lorem Ipsum");
printValue ([1, 2, 3, 4]);
printValue (true);
Out[65]:
In [70]:
var arr = [1, 2, 3, 4, 5, 6, 7, 8];
function contains(arr, value, start, end) {
var i;
start = start || 0;
end = end || arr.length;
for (i = start; i < end; i++) {
if (arr[i] === value) {
return true;
}
}
return false;
}
console.log(contains(arr, 3));
console.log(contains(arr, 3, 3));
console.log(contains(arr, 3, 0, 1));
Out[70]:
In [ ]: