1
00:00:00,270 --> 00:00:05,310
在這段視頻中，我們要討論一個名為範圍在JavaScript的概念。

2
00:00:05,310 --> 00:00:09,640
範圍是指一些代碼在被執行的情況下。

3
00:00:09,900 --> 00:00:14,610
所以，無論我們有一些代碼，讓我們說這是一個叫招呼函數中。

4
00:00:15,210 --> 00:00:18,550
該代碼是在一個特定的上下文中運行。

5
00:00:18,720 --> 00:00:27,620
因此它可能有一些變量，可能有一些性質和範圍是指任何變量和屬性都在該函數可見。

6
00:00:27,750 --> 00:00:33,290
而這可能是另一種函數內，或者如果我們有嵌套對方的內部功能不同。

7
00:00:33,360 --> 00:00:34,740
這是你可以做的。

8
00:00:34,950 --> 00:00:39,070
我們可能有不同的範圍和不同的變量是可見的。

9
00:00:39,150 --> 00:00:41,490
因此，這將是有意義的幾個例子。

10
00:00:41,490 --> 00:00:47,950
這絕對是一個非常困難和複雜的話題，但我會盡我所能來簡化它。

11
00:00:48,660 --> 00:00:50,880
讓我們先從這裡簡單的東西。

12
00:00:50,880 --> 00:01:09,390
聲明函數做數學和所有做數學我們要做的就是聲明變量x等於40，然後它會取消該日誌X ..

13
00:01:09,690 --> 00:01:15,970
因此，讓我們跑做數學，他們得到40打印出來。

14
00:01:16,320 --> 00:01:22,720
所以在這個範圍內，我們將稱之為這個函數的內部x等於40。

15
00:01:22,740 --> 00:01:28,760
然而，功能之外，如果我嘗試和接入點¯x你能指望什麼發生。

16
00:01:29,760 --> 00:01:32,810
我得到它告訴我X不是定義的錯誤。

17
00:01:32,880 --> 00:01:38,650
那麼，這說明我們的是，我們有這個功能的內部的兩個不同的範圍是一個上下文。

18
00:01:38,760 --> 00:01:46,200
X在這裡，但外面那定義，我們稱之為全球範圍內我們沒有任何函數內部。

19
00:01:46,350 --> 00:01:49,900
當我X型我得到一個錯誤，因為它不知道X是什麼。

20
00:01:49,920 --> 00:01:52,840
這不是在此範圍內可見。

21
00:01:53,010 --> 00:02:01,200
所以，如果我們定義x對於x等於就讓我們稱之為低。

22
00:02:01,260 --> 00:02:07,020
現在，如果我訪問×表示我只是在全球範圍內，我得到這個功能之外。

23
00:02:07,030 --> 00:02:07,810
你好。

24
00:02:08,160 --> 00:02:10,450
因此，在這種情況下，X是打招呼。

25
00:02:10,770 --> 00:02:17,200
但是，如果我跑做數學再次你有什麼期望發生這一次。

26
00:02:17,400 --> 00:02:21,180
它仍然是40這樣的背景下內部。

27
00:02:21,180 --> 00:02:22,490
所以這是非常重要的。

28
00:02:22,800 --> 00:02:27,250
當我們創建一個函數它有自己的範圍，自己的一組變量。

29
00:02:27,510 --> 00:02:33,770
這並不意味著儘管這不是一個函數，我們不能訪問的功能之外定義的變量。

30
00:02:33,960 --> 00:02:35,290
所以，我會告訴你一個例子。

31
00:02:35,520 --> 00:02:43,700
我要在這裡清除一切，這一次讓我們使用一個變量Y變量y等於99。

32
00:02:44,280 --> 00:02:47,510
因此，在全球範圍內我可以訪問年。

33
00:02:47,610 --> 00:02:58,260
現在，如果我宣布一個功能讓我們把這個做更多的數學，如果我想取消該日誌。

34
00:02:58,260 --> 00:03:01,220
為什麼你認為會有一個錯誤。

35
00:03:01,500 --> 00:03:03,360
或將這項工作就好了。

36
00:03:04,230 --> 00:03:08,480
讓我們試一下做更多的數學括號。

37
00:03:08,850 --> 00:03:10,420
這給了我99。

38
00:03:10,830 --> 00:03:19,520
那麼，在這裡這說明我們的是，當我們在函數外部定義的東西，我們仍然有函數內訪問它。

39
00:03:19,530 --> 00:03:21,780
想到這作為一個孩子的範圍。

40
00:03:21,900 --> 00:03:30,200
這是更具體的它向下鑽取到一個更深的層次和範圍的兒童有機會獲得的東西在父範圍內找到。

41
00:03:30,300 --> 00:03:32,900
因此，如果這個比喻可以幫助你繼續前進，並運行它。

42
00:03:33,090 --> 00:03:38,980
但基本上概括起來講，如果我們定義的函數的變量外，我們可以用它在函數內部。

43
00:03:39,210 --> 00:03:41,840
但相反的是不正確的。

44
00:03:43,020 --> 00:03:44,390
因此，這裡的另一個例子。

45
00:03:44,460 --> 00:03:50,290
如果裡面做更多的數學我真正改變y的值。

46
00:03:50,370 --> 00:03:56,260
所以我說，為什麼等於100。

47
00:03:56,550 --> 00:03:58,200
然後，我打印年。

48
00:03:58,710 --> 00:04:02,090
你認為在這種情況下發生的。

49
00:04:02,330 --> 00:04:03,260
這是一個嘗試。

50
00:04:03,510 --> 00:04:05,060
所以，讓我們來看看y是現在什麼。

51
00:04:05,070 --> 00:04:06,130
這是99。

52
00:04:06,430 --> 00:04:14,910
如果我去做更多的數學它打印出100。

53
00:04:14,910 --> 00:04:19,080
所以裡面的函數y是一百它打印出來100。

54
00:04:19,080 --> 00:04:21,370
但如何在函數外。

55
00:04:21,720 --> 00:04:23,960
如果我只需鍵入Y.會發生什麼

56
00:04:24,210 --> 00:04:26,160
這也是100。

57
00:04:26,610 --> 00:04:33,930
因此，這裡發生的事情是我宣布y個第一'99作為在全球範圍內的功能之外。

58
00:04:34,380 --> 00:04:37,820
然後裡面的功能我改年。

59
00:04:37,980 --> 00:04:47,670
因此，這沒有宣布新的變量y的範圍，它實際上發現，被宣布了這裡的老之一，它改變了它。

60
00:04:47,670 --> 00:04:49,770
所以在這裡。

61
00:04:49,770 --> 00:04:54,280
為什麼一百外面為什麼也是100。

62
00:04:54,300 --> 00:04:57,140
因此，這裡是一個例子，讓我們清楚這一切。

63
00:04:57,420 --> 00:05:07,380
讓我們做一個變量短語等於高那裡，然後讓我們的函數做一些事情。

64
00:05:07,380 --> 00:05:16,720
我知道這些名字並不十分創意，而不是做一些事情我要去嘗試改變。

65
00:05:17,010 --> 00:05:23,350
我要提出一個新的VAR短語等於告別。

66
00:05:24,270 --> 00:05:30,520
再下一行我要打印。

67
00:05:30,570 --> 00:05:33,730
那你想到會在這裡發生。

68
00:05:34,830 --> 00:05:42,100
如果我們運行做一些它告別打印。

69
00:05:42,120 --> 00:05:47,570
那麼，告訴我們是不是做一些A的等於再見。

70
00:05:47,880 --> 00:05:52,190
但它的外面是什麼句話等於它仍然高那裡。

71
00:05:52,500 --> 00:05:56,290
因此，通過添加迄今為止這裡VAR短語再見等於。

72
00:05:56,430 --> 00:06:00,780
這使得我們一個新的變量，而不是使用這裡定義了的。

73
00:06:00,780 --> 00:06:08,190
這使得只存在於這個範圍裡面只有做東西措辭再見新詞變量。
