< Return to Video

Function Return Values (Video Version)

  • 0:01 - 0:04
    Ta trở lại với chương trình của mình sử dụng một hàm
  • 0:04 - 0:06
    để vẽ Winston tới 4 lần.
  • 0:06 - 0:08
    Và tôi đã thay đổi để nó thực sự thể hiện anh ta bao nhiêu tuổi
  • 0:08 - 0:11
    tại mỗi thời điểm trong đời, và bạn sẽ sớm biết tại sao.
  • 0:11 - 0:14
    Nhưng trước tiên tôi cần nói với bạn vài điều về Winston:
  • 0:14 - 0:16
    Winston nghiện bánh rán.
  • 0:16 - 0:18
    Anh ấy ăn 3 cái một ngày.
  • 0:18 - 0:21
    Có lẽ đó là lý do tại sao khuôn mặt của anh ta to tròn và vàng như thế.
  • 0:22 - 0:25
    Vì vậy, để cảnh báo Winston về việc bánh rán có hại như thế nào,
  • 0:25 - 0:28
    Tôi muốn sửa đổi chương trình này để hiển thị
  • 0:28 - 0:32
    Anh ấy đã ăn tổng cộng bao nhiêu bánh rán tại mỗi thời điểm trong đời mình.
  • 0:32 - 0:36
    Ví dụ, khi anh ấy hai tuổi,
  • 0:36 - 0:42
    nghĩa là anh ta đã ăn 3 * 365 * 2,
  • 0:42 - 0:46
    cứ như vậy ba cái một ngày, * 365 ngày, * 2 năm.
  • 0:46 - 0:50
    Và ta sẽ chỉ hiển thị bên dưới phần tiêu đề, thật tuyệt vời!
  • 0:50 - 0:54
    2000 chiếc bánh rán, quả là rất nhiều đối với một đứa trẻ 2 tuổi.
  • 0:54 - 1:02
    Bây giờ khi anh ấy 14 tuổi, hãy xem, anh ấy đã 3 * 365 * 14
  • 1:04 - 1:08
    Và đó là 15.000 chiếc bánh rán. Được rồi.
  • 1:08 - 1:13
    Như vậy, tôi có thể tiếp tục làm toán, nhưng đã bắt đầu nhận thấy một mô hình.
  • 1:13 - 1:17
    Tôi đang lặp lại tính toán ở đây,
  • 1:17 - 1:20
    và chỉ thay đổi một điều về nó: số năm.
  • 1:20 - 1:23
    Bất cứ khi nào thấy mã lặp đi lặp lại như thế này,
  • 1:23 - 1:28
    Tôi luôn tự nghĩ, "Hmm, ta có thể biến nó thành một hàm hay không?"
  • 1:28 - 1:32
    Đúng vậy, chắc chắn rồi, ta có thể. Vì vậy, hãy làm ngay bây giờ.
  • 1:33 - 1:34
    Tôi sẽ định nghĩa hàm của mình ở đây
  • 1:34 - 1:40
    và gọi nó là calcTotalDonuts = function
  • 1:41 - 1:44
    Và nó sẽ lấy một tham số, số năm,
  • 1:44 - 1:46
    bởi vì đó là thứ duy nhất thay đổi
  • 1:46 - 1:49
    mỗi lần thực hiện tính toán.
  • 1:49 - 1:53
    Và sau đó bên trong, ta sẽ thực hiện tính toán,
  • 1:53 - 2:00
    và lưu nó vào một biến, như vậy nó sẽ là 3 * 365 * số năm.
  • 2:01 - 2:03
    Được rồi, vậy giờ ta có hàm đó,
  • 2:03 - 2:09
    Tôi sẽ thay thế biểu thức này ở đây bằng calcTotalDonuts,
  • 2:09 - 2:12
    gọi đến hàm và truyền vào "2".
  • 2:13 - 2:17
    Được rồi, ừm, giờ ta không thấy tổng số nào cả.
  • 2:17 - 2:19
    Hmm, được rồi, chuyện quái gì xảy ra thế?
  • 2:19 - 2:23
    Vâng, hàm của ta đã tính tổng, ở đây,
  • 2:23 - 2:26
    nhưng nó không nói cho ai biết về tổng số đó.
  • 2:26 - 2:30
    Giống như nếu một giáo viên gọi bạn trong lớp để trả lời một câu hỏi
  • 2:30 - 2:32
    và bạn trả lời nó trong đầu
  • 2:32 - 2:34
    bạn ngại nói ra câu trả lời.
  • 2:34 - 2:37
    Bạn đã hoàn thành công việc, nhưng giáo viên sẽ không bao giờ biết về nó.
  • 2:37 - 2:40
    Nếu ta muốn hàm này truyền một giá trị
  • 2:40 - 2:45
    cho thứ gì gọi nó, hàm phải trả về giá trị một cách rõ ràng.
  • 2:46 - 2:49
    Vì vậy, để một hàm trả về một giá trị, ta cần gõ return,
  • 2:50 - 2:52
    và sau đó là giá tị hàm muốn trả về.
  • 2:52 - 2:55
    Có thể đó là một biến hoặc một giá trị hoặc một biểu thức,
  • 2:55 - 2:58
    Vì vậy, ở đây ta sẽ gõ return TotalDonuts, được chưa nhỉ?
  • 2:58 - 3:02
    Vì vậy, bất cứ thứ gì hàm đó cũng sẽ nhận được phản hồi này.
  • 3:02 - 3:04
    Và bây giờ giá trị của ta đã hiển thị, yay!
  • 3:05 - 3:07
    Và thực sự ta có thể rút gọn hàm,
  • 3:07 - 3:08
    thậm chí không phải lưu trữ nó trong một biến,
  • 3:08 - 3:10
    ta chỉ cần lấy toàn bộ biểu thức này ở đây
  • 3:10 - 3:14
    đặt sau return, và sau đó nó chỉ là 1 dòng. Tốt rồi.
  • 3:15 - 3:17
    Như vậy bây giờ ta có thể tiếp tục
  • 3:17 - 3:20
    và tính tổng số bánh rán tại mỗi điểm trong đời
  • 3:20 - 3:23
    bằng cách chỉ gọi hàm này và truyền vào số năm.
  • 3:24 - 3:29
    Ừm, hãy xem, calcTotalDonuts(25),
  • 3:29 - 3:34
    vị trí là chính xác, calcTotalDonuts(65)
  • 3:36 - 3:40
    OK! Wow, như vậy nếu anh ta 65 tuổi,
  • 3:40 - 3:44
    anh ta sẽ ăn 70.000 chiếc bánh rán. Con số đó là rất nhiều.
  • 3:45 - 3:48
    Tôi không nghĩ Winston sẽ làm được đâu. (cười)
  • 3:48 - 3:50
    Nhưng bây giờ ta đã biến nó thành một hàm,
  • 3:50 - 3:53
    thật dễ dàng để thay đổi các phần của nó.
  • 3:53 - 3:55
    Giống như nếu Winston nhìn thấy điều này và nói,
  • 3:55 - 3:59
    "Whoa, whoa, nhiều quá. Nếu tôi chỉ ăn 1 cái mỗi ngày thì sao?"
  • 3:59 - 4:02
    Được rồi, ta có thể vào đây, thay đổi một số này,
  • 4:03 - 4:04
    và mọi thứ thay đổi.
  • 4:04 - 4:08
    Vậy là 23.000. Vẫn còn rất nhiều. Vì vậy, có thể Winston thích,
  • 4:08 - 4:11
    "Được rồi, được rồi, nếu tôi chỉ ăn 1 cái 1 tuần thì sao?"
  • 4:11 - 4:12
    Ừ, hợp lý đấy, được thôi.
  • 4:12 - 4:15
    Như vậy, sau đó ta có thể đổi 365 thành 50,
  • 4:15 - 4:17
    bởi vì có 50 tuần trong một năm, phải không?
  • 4:18 - 4:23
    Được rồi, tốt hơn nhiều, phải không? 3.000 bánh rán, có vẻ hợp lý.
  • 4:23 - 4:27
    Được rồi, bạn thấy đấy, với các hàm và giá trị trả về,
  • 4:27 - 0:00
    ta có thể lưu code và cứu mạng (Winston) nữa.
Title:
Function Return Values (Video Version)
Description:

more » « less
Video Language:
English
Duration:
04:32

Vietnamese subtitles

Incomplete

Revisions