< Return to Video

The window object (Video Version)

  • 0:01 - 0:04
    Một tính năng hay của JS là
  • 0:04 - 0:07
    tạo hình ảnh động.
  • 0:07 - 0:09
    Nhưng mà trước khi đụng đến cái đó, tôi muốn đảm bảo là
  • 0:09 - 0:12
    bạn hiểu về 1 global variable (biến toàn cục) này nữa,
  • 0:12 - 0:17
    biến này tồn tại trên mọi web page, gọi là window variable.
  • 0:17 - 0:21
    Tôi sẽ console.log biến đó và bạn cũng có thể dừng video,
  • 0:21 - 0:25
    vào dev tools xem trong biến đó có những gì.
  • 0:27 - 0:28
    Bạn thấy chưa?
  • 0:28 - 0:30
    Nó to thật đấy.
  • 0:30 - 0:34
    Có nhiều thông tin đến choáng ngợp.
  • 0:34 - 0:36
    Để bớt choáng thì tôi
  • 0:36 - 0:38
    sẽ cho bạn biết một số thuộc tính
  • 0:38 - 0:40
    và hàm mà bạn sẽ thường dùng đến trong biến đó.
  • 0:40 - 0:44
    Có window.location, tức là
  • 0:44 - 0:47
    thông tin về URL của trang web.
  • 0:48 - 0:52
    Tôi sẽ viết cái đó luôn ra trang này
  • 0:52 - 0:55
    để bạn đỡ phải dừng video liên tục.
  • 0:55 - 0:57
    Vậy là có textContent, rồi ta chỉ
  • 0:57 - 1:02
    "The URL of this page is " + window.location,
  • 1:03 - 1:05
    nhưng mà cái này là một đối tượng, nên
  • 1:05 - 1:09
    ta sẽ phải đi vào trong đối tượng đấy để tìm thuộc tính .href.
  • 1:09 - 1:11
    Thế là xong. Đây chính là URL của
  • 1:11 - 1:14
    trang web iframed này.
  • 1:15 - 1:18
    Một thuộc tính khác là window.navigator.userAgent,
  • 1:18 - 1:22
    tức là thông tin về trình duyệt
  • 1:22 - 1:26
    của dười dùng, gõ...
  • 1:26 - 1:28
    "The user agent is "
  • 1:28 - 1:32
    + window.navigator.userAgent.
  • 1:33 - 1:36
    Cái string về user agent này sẽ
  • 1:36 - 1:39
    trông khá là lộn xộn,
  • 1:39 - 1:42
    vì nó không phải để cho người đọc,
  • 1:42 - 1:44
    và cũng khá là loạn
  • 1:44 - 1:46
    vì vốn người ta quen dặt nó thế.
  • 1:46 - 1:49
    Vậy nên khi lập trình web thì người ta sẽ dùng các thư viện có sẵn
  • 1:49 - 1:52
    để giải mã thông tin trong string này
  • 1:52 - 1:55
    xem trình duyệt và phần mềm hệ thống của người dùng là gì, đại loại thế.
  • 1:55 - 1:57
    Vì string này tự nó khó hiểu lắm.
  • 1:59 - 2:01
    Giờ đến một cái khác dễ hiểu hơn.
  • 2:01 - 2:05
    Có window.outerWidth và window.outerHeight.
  • 2:05 - 2:08
    Ví dụ, viết
  • 2:10 - 2:15
    "This webpage is " + window.outerWidth
  • 2:15 - 2:18
    ta hiện chiều rộng trước,
  • 2:18 - 2:21
    + " by " + window.outerHeight.
  • 2:21 - 2:24
    Với tôi thì kết quả là 1280 by 715,
  • 2:24 - 2:26
    nhưng với bạn thì chắc sẽ là số khác,
  • 2:26 - 2:29
    tuỳ theo kích thước mà bạn đang xem
  • 2:29 - 2:31
    video này.
  • 2:32 - 2:36
    Giờ tôi sẽ cho bạn thấy một cái hay nữa.
  • 2:36 - 2:40
    Tôi sẽ xoá chữ window trong code này đi.
  • 2:42 - 2:45
    Và bạn thấy là code vẫn
  • 2:45 - 2:50
    chạy bình thường, là vì 'window' là
  • 2:50 - 2:53
    biến toàn cục mặc định trên trang web.
  • 2:53 - 2:56
    Khi trình duyệt tìm kiếm biến mà bạn muốn dùng,
  • 2:56 - 3:00
    nó sẽ tìm ở trong đối tượng window,
  • 3:00 - 3:03
    vì khi bạn tạo một biến toàn cục mới,
  • 3:03 - 3:08
    thì đối tượng window sẽ lưu biến đó làm thuộc tính của mình.
  • 3:08 - 3:10
    tức là bạn không nên tự tạo
  • 3:10 - 3:13
    biến có tên outerWidth hay outerHeight,
  • 3:13 - 3:15
    vì những biến tự tạo đó sẽ đè lên
  • 3:15 - 3:18
    các biến mặc định window.outerWidth và window.outerHeight.
  • 3:18 - 3:21
    Thường thì bạn nên không tạo biến toàn cục nào cả
  • 3:21 - 3:23
    vì chúng rất dễ đụng lẫn nhau
  • 3:23 - 3:28
    hoặc đụng vào các biến có sẵn trong window.
  • 3:28 - 3:32
    Để an toàn hơn, bạn cũng có thể tạo tiền tố cho các biến toàn cục,
  • 3:32 - 3:36
    ví dụ như trong Khan Academy, ta viết thêm KA_
  • 3:36 - 3:39
    lên đằng trường tất cả các biến toàn cục, để khỏi lẫn.
  • 3:40 - 3:42
    Vậy là xong về đối tượng window.
  • 3:42 - 3:44
    Tiếp theo ta sẽ học cách dùng
  • 3:44 - 0:00
    2 hàm trong đó để tạo hình ảnh động.
Title:
The window object (Video Version)
Description:

more » « less
Video Language:
English
Duration:
03:52

Vietnamese subtitles

Incomplete

Revisions