ფუნქციები

სწვალა

უნქცია წარმოადგენს ინსტრუქციების ერთობლიობას, რომლებიც ასრულებენ გარკვეულ მოქმედებას ან ითვლიან გარკვეულ მნიშვნელობას. ფუნქციის სინტაქსს აქვს შემდეგი სახე:

function ფუნქციის_სახელი([პარამეტრი [, …]]) {
// ინსტრუქციები
}

ფუნქციის განსაზღვრა იწყება საკვანძო სიტყვით function, რასაც მოსდევს ფუნქციის სახელი. ფუნქციის დასახელება ექვემდებარება იგივე წესებს, რასაც ცვლადების სახელები. შესაბამისად, ფუნქციის სახელი უნდა შედგებოდეს ასოებისგან, ციფრებისგან და სიმბოლოებისგან “_” და “$”. ამასთან, ფუნქციის სახელი არ უნდა იწყებოდეს ციფრით.

ფუნქციის სახელის შემდეგ მოდის პარამეტრების ჩამონათვალი. ფუნქციას თუნდაც არ ჰქონდეს პარამეტრი, მაინც უნდა დავსვათ ცარიელი ფრჩხილები. შემდეგ ფიგურულ ფრჩხილებში მოდის ფუნქციის ტანი, რომელიც შეიცავს ინსტრუქციების ერთობლიობას.

შევქმნათ უმარტივესი ფუნქცია:

function display() {
document.write(“JavaScript-ის ფუნქციები”);
}

მოცემული ფუნქციის სახელია display. მას არ გააჩნია პარამეტრები და ერთადერთი, რასაც აკეთებს, არის ის, რომ ბრაუზერში წერს სტრიქონს. მაგრამ მხოლოდ ფუნქციის განსაზღვრა საკმარისი არ არის. იმისათვის, რომ ფუნქცია შესრულდეს, საჭიროა ის გამოვიძახოთ:

<!DOCTYPE html>
<html>
<head>
<meta charset=”utf-8″ />
</head>
<body>
<script>
function display(){
document.write(“JavaScript-ის ფუნქციები”);
}
display();
</script>
</body>
</html>

არაა აუცილებელი ფუნქციისთვის სახელის მიცემა – შეიძლება გამოვიყენოთ ანონიმური ფუნქციები:

var display = function () { // ფუნქციის განსაზღვრა
document.write(“JavaScript-ის ფუნქციები”);
}
display();

პრაქტიკულად, ჩვენ განვსაზღვრეთ ცვლადი display და მივანიჭეთ მას მიმართვა ფუნქციაზე. ხოლო შემდეგ ცვლადის სახელით ხდება ფუნქციის გამოძახება.

ასევე შესაძლებელია ცვლადს დინამიურად მივანიჭოთ ფუნქციაზე მიმართვა:

function goodMorning() {
document.write(“დილა მშვიდობისა!”);
}
function goodEvening() {
document.write(“საღამო მშვიდობისა!”);
}
var message = goodMorning;
message(); // დილა მშვიდობისა!
message = goodEvening;
message(); // საღამო მშვიდობისა!
ფუნქციის პარამეტრები

ვნახოთ პარამეტრების გადაცემა:

function display(x) { // ფუნქციის განსაზღვრა
var z = x * x;
document.write(x + ” კვადრატში ტოლია ” + z);
}
display(5); // ფუნქციის გამოძახება

ფუნქცია ღებულობს ერთ პარამეტრს – x. გამოძახებისას მას გადაეცემა პარამეტრის მნიშვნელობა – 5.

ფუნქციას შეიძლება ჰქონდეს ბევრი პარამეტრი, ამასთან პარამეტრების ნაწილი შეიძლება იყოს არა აუცილებელი:

function display(x, y) {
if (y === undefined) y = x;
var z = x * y;
document.write(x + ” გამრავლებული ” + y + “-ზე უდრის ” + z + “<br/>”);
}
display(6); // 36
display(6, 4) // 24

ამ ფუნქცით თუ მეორე პარამეტრს არ გადავცემთ, იგი პირველი პარამეტრის ტოლი იქნება.

საჭიროებისას, ფუნქციის ყველა პარამეტრი შეიძლება მივიღოთ გლობალურად წვდომადი მასივის – arguments მეშვეობით:

function display() {
var z = 1;
for (var i = 0; i < arguments.length; i++)
z *= arguments[i];
console.log(z);
}
display(6); // 6
display(6, 4) // 24
display(6, 4, 5) // 120

ამასთან, არა აქვს მნიშვნელობა, რომ ფუნქციის განსაზღვრისას საერთოდ არ მიგვითითებია პარამეტრები, მათი მიღება მაინც შესაძლებელია გლობალური მასივის – arguments მეშვეობით.

ფუნქციის შედეგი

ფუნქცია შეიძლება აბრუნებდეს შედეგს. ამისთვის გამოიყენება ოპერატორი return:

var y = 5;
var z = square(y);
document.write(y + ” კვადრატში უდრის ” + z);
function square(x) {
return x * x;
}

return ოპერატორის შემდეგ მოდის მნიშვნელობა, რაც უნდა დააბრუნოს ფუნქციამ. მოცემულ შემთხვევაში x-ის კვადრატი.

ფუნქციის მიერ დაბრუნებული მნიშვნელობა შეიძლება მივანიჭოთ რამე ცვლადს:

var z = square(y);

ფუნქცია პარამეტრად

ფუნქცია შეიძლება გამოვიყენოთ სხვა ფუნქციის პარამეტრად:

function display(x, func) {
var message = func(x);
document.write(message);
}
function welcomeMessage(time) {
if (time < 12)
return “დილა მშვიდობისა!”;
else
return “დღე მშვიდობისა!”;
}
display(13, welcomeMessage);

ფუნქცია display ღებულობს ორ პარამეტრს: x და func. func წარმოადგენს ფუნქციას, ამასთან display ფუნქციის განსაზღვრის დროს არა აქვს მნიშვნელობა, თუ რა ფუნქციაა ეს. ერთადერთი, რაც ცნობილია,ისაა, რომ ის იღებს პარამეტრს და აბრუნებს მნიშვნელობას, რომელიც შემდეგ გამოისახება ბრაუზერში.

კოდში ასევე განსაზღვრულია ფუნქცია welcomeMessage., რომელიც პარამეტრად ღებულობს მიმდინარე საათს და მისი მნიშვნელობიდან გამომდინარე აბრუნებს შეტყობინებას. ფუნქცია display-ს გამოძახებისას იგი მეორე პარამეტრად იღებს ფუნქციას welcomeMessage.

წყარო: webschool.ge

0Shares