Return to Video

Local and Global Variables (Video Version)

  • 0:01 - 0:03
    ახლა, როცა უკვე
    დაძლიეთ ფუნქციის საფუძვლები
  • 0:03 - 0:07
    მინდა გესაუბროთ ოდნავ რთულ საკითხზე.
  • 0:07 - 0:11
    განსხვავებაზე ლოკალურსა და
    გლობალურ ცვლადებს შორის.
  • 0:11 - 0:14
    შეიძლება ეს ტერმინები
    ჯერ არაფერს გეუბნებოდეთ.
  • 0:14 - 0:16
    მაგალითით დავიწყოთ.
  • 0:16 - 0:18
    ეს პროგრამა გავაკეთე
  • 0:18 - 0:20
    რათა მეჩვენებინა
    რამდენი ინჩით გავიზარდე ბავშვობაში.
  • 0:21 - 0:22
    რადგან ადამიანები
    განსხვავებული ტემპით იზრდებიან,
  • 0:22 - 0:24
    მე მოვიფიქრე ფუნქცია "calcInches",
  • 0:24 - 0:27
    სადაც დავწერე "startAge", "endAge"
  • 0:27 - 0:29
    და "inchesPerYear".
  • 0:30 - 0:32
    შემდეგ ის გამოითვლიდა
  • 0:32 - 0:34
    მთლიანად რამდენი
    ინჩით გავიზარდეთ დროის მონაკვეთში.
  • 0:35 - 0:37
    ...და დაუბრუნებდა იმას ვინც გამოიძახა.
  • 0:37 - 0:40
    ხედავთ, რომ ნულიდან რვამდე
  • 0:40 - 0:44
    ვიძახებ "calcInches"
    და ვწერ ნულს, რვას და 2.5-ს.
  • 0:44 - 0:48
    რადგან წელიწადში
    დაახლოებით 2.5-ით ვიზრდებოდი.
  • 0:48 - 0:52
    როგორც ხედავთ
    ითვლის და შედეგად 20-ს გვაძლევს.
  • 0:52 - 0:58
    შემდეგ ვიძახებ რვიდან
    16-მდე და ვაძლევ რვას 16-ს და ორს.
  • 0:58 - 1:01
    რადგან იმდენად არ ვიზრდებოდი
    და ხედავთ, რომ შედეგად 16-ს გვაძლევს.
  • 1:02 - 1:05
    კარგი ჩანს, მაგრამ ახლა
  • 1:05 - 1:08
    მინდა ვაჩვენო
    მთლიანად რამდენით გავიზარდე ბავშვობაში.
  • 1:09 - 1:14
    როგორ ვაკეთებ ამას.
    შემიძლია ჩემ ფუნქციას შევხედო
  • 1:14 - 1:17
    და ვიფიქრო
    რა მნიშვნელობები მაქვს აქ.
  • 1:17 - 1:20
    მაქვს თუ არა რაიმე,
    რაც მთლიან ინჩებს გამოსახავს?
  • 1:21 - 1:26
    მაქვს "totalInches"
    ცვლადი "calcInches" ფუნქციაში
  • 1:26 - 1:31
    შემიძლია გავაწარმოო, ვნახოთ რას მომცემს.
  • 1:31 - 1:36
    დავწეროთ "text", "totalInches",
  • 1:36 - 1:38
    ვნახოთ, რა მოხდება.
  • 1:38 - 1:43
    "Oh noes" ბიჭი გვეუბნება, რომ პრობლემაა.
  • 1:43 - 1:46
    "totalInches" არ არის განსაზღვრული.
  • 1:46 - 1:48
    უცნაურია, რადგან
  • 1:48 - 1:51
    აი აქ განვსაზღვრეთ totalInches.
  • 1:51 - 1:54
    var "totalInches" უდრის--
  • 1:54 - 1:59
    პრობლემა ისაა, რომ
    totalInches ფუნქციის შიგნით განვსაზღვრეთ.
  • 1:59 - 2:01
    ამ სტროფზე.
  • 2:01 - 2:03
    როდესაც ცვლადს
    ფუნქციის შიგნით ვსაზღვრავთ,
  • 2:03 - 2:06
    ის ლოკალურ ცვლადად მიიჩნევა.
  • 2:06 - 2:09
    მხოლოდ ამ ფუნქციის შიგნით ცხოვრობს.
  • 2:09 - 2:13
    ფუნქციის გარეთ რაცაა
  • 2:13 - 2:16
    ვერ ხედავს ფუნქციის
    შიგნითა ლოკალურ ცვლადებს.
  • 2:16 - 2:18
    მხოლოდ იმას ხედავს, რაც ბრუნდება.
  • 2:18 - 2:21
    მხოლოდ ამ შედეგს ხედავს, არა ცვლადს.
  • 2:21 - 2:25
    როდესაც ვცდილობთ
    totalInches ფუნქციის გარეთ გამოყენებას,
  • 2:25 - 2:26
    მან არ იცის ეს რაარის
  • 2:26 - 2:29
    და ამბობს, რომ
    ეს ცვლადი აქამდე არ უნახავს.
  • 2:29 - 2:32
    იგი არ არის განსაზღვრული.
  • 2:32 - 2:35
    გვაქვს გზა, რის მეშვეობითაც,
  • 2:35 - 2:37
    გარე კოდი
    შეძლებს ამ ცვლადის დანახვას.
  • 2:37 - 2:42
    თუ ლოკალურიდან
    გობალურ ცვლადად გარდავქმნით.
  • 2:43 - 2:47
    ეს შეგვიძლია
    განსაზღვრის ფუნქციის გარეთ გატანით.
  • 2:48 - 2:50
    იმაში, რასაც
    გლობალური ჰორიზონტი ჰქვია.
  • 2:51 - 2:54
    ფუნქციის შიგნით
  • 2:54 - 2:58
    მის მნიშვნელობას
    ვცვლით ყოველ ჯერზე, არ ვსაზღვრავთ.
  • 2:59 - 3:02
    როგორც ხედავთ, მთლიანი
    ზრდა სიცოცხლის მანძილზე 16-ს უდრის.
  • 3:03 - 3:06
    მან იპოვა ცვლადი, რადგან
    გლობალურ ცვლადად გარდავქმენით.
  • 3:07 - 3:10
    მაგრამ ჩვენ სხვა მნიშვნელობას ვეძებთ.
  • 3:10 - 3:12
    ეს ყველაზე ახალი მნიშვნელობაა.
  • 3:12 - 3:14
    რადგან, ყოველ
    ჯერზე, როდესაც ამ ფუნქციას ვიძახებთ
  • 3:14 - 3:18
    totalInches აყენებს იმაზე,
    რასაც იმ შემთხვევისთვის ითვლის.
  • 3:19 - 3:22
    გვინდა ახალი ცვლადი,
  • 3:22 - 3:25
    რომელიც დაიმახსოვრებს მხოლოდ
  • 3:25 - 3:28
    მთლიან totalInches,
    რომელსაც ყოველ ჯერზე ვამატებთ.
  • 3:29 - 3:33
    მოდით, ეს ლოკალური ცვლადი გავხადოთ
  • 3:34 - 3:37
    და შევქმნათ ახალი გლობალური ცვლადი.
  • 3:37 - 3:40
    რომელსაც "lifeInches"-ს დავარქმევთ.
  • 3:40 - 3:42
    ნულზე დავიწყებთ.
  • 3:42 - 3:45
    ფუნქციის შიგნით, ამ
    გლობალურ ცვლადს დავამატებთ
  • 3:45 - 3:49
    --"lifeInches" პლუს უდრის "totalInches"--
  • 3:49 - 3:53
    რასაც გამოთვლით
    ამ ფუნქციის ყოველ გამოძახებაზე,
  • 3:53 - 3:56
    დავამატებთ
    "lifeInches"-ს გლობალურ ცვლადს.
  • 3:56 - 4:00
    ბოლოში ვაჩვენებთ "lifeInches"-ს.
  • 4:00 - 4:03
    სრული ზრდა სიცოცხლის მანძილზე.
  • 4:04 - 4:06
    ეს ჩემი ნამდვილი სიმაღლე არ არის.
  • 4:06 - 4:08
    ამაზე მაღალი ვარ, მაგრამ
  • 4:08 - 4:10
    ეს იმიტომაა, რომ
  • 4:10 - 4:12
    ბადებისას ჩვენი სიმაღლე ნულზე მაღალია.
  • 4:12 - 4:14
    სრული თუ მინდა, იქნებ 20-ზე დამეწყო.
  • 4:14 - 4:17
    აი, ჩემი სიმაღლეც.
  • 4:17 - 4:20
    გადავხედოთ,
  • 4:20 - 4:22
    "totalInches" ვეძახით ლოკალურ ცვლადს.
  • 4:22 - 4:26
    ეს ვიცით, რადგან
    ფუნქციის შიგნით ვხედავთ მის განსაზღვრებას
  • 4:26 - 4:28
    და არა ფუნქციის გარეთ.
  • 4:29 - 4:31
    ეს ნიშნავს, რომ
  • 4:31 - 4:33
    ამ გარეთა კოდმა
    არ იცის ამ ცვლადის შესახებ,
  • 4:33 - 4:35
    "totalInches"-ს რომ ვეძახით.
  • 4:35 - 4:38
    "lifeInches"-ს ვუწოდებთ გლობალურ ცვლადს.
  • 4:38 - 4:41
    ეს ვიცით, რადგან მის
    განსაზღვრებას ფუნქციის გარეთ ვხედავთ.
  • 4:41 - 4:43
    გლობალურ ზონაში.
  • 4:44 - 4:45
    სცადეთ გახსოვდეთ ეს,
  • 4:45 - 4:47
    როდესაც ფუნქციებსა და ცვლადებს წერთ.
  • 4:47 - 4:52
    და დაფიქრდით ლოკალური ცვლადი
    გინდათ, მხოლოდ ფუნქციამ რომ გამოიყენოს
  • 4:52 - 4:55
    თუ გლობალური, მთელი პროგრამისთვის.
  • 4:55 - 4:57
    არაუშავს თუ რთულია ამის გაგება.
  • 4:57 - 5:00
    ეს ერთ-ერთი ყველაზე
    დამაბნეველი ცნებაა პროგრამირებაში.
  • 5:00 - 5:02
    განსაკუთრებით JavaScript-ში.
  • 5:02 - 5:05
    თუ ივარჯიშებთ, უკეთ გამოგივათ.
Title:
Local and Global Variables (Video Version)
Description:

more » « less
Video Language:
English
Duration:
05:06

Georgian subtitles

Revisions