THẢO LUẬN

Cảm ơn bạn, mình đã làm được

0

Great Job a ! 👍️

0
thg 7 27, 2:37 SA

Cảm ơn @spaghetti-lover nhé.

Câu hỏi rất hay, đây điểm quan trọng mà mình cần giải thích rõ hơn.

Bạn nói đúng, trong trường hợp thông thường, khi chúng ta khai báo một biến bằng var ở phạm vi toàn cục (global scope), nó không tự động trở thành thuộc tính của đối tượng window. Tuy nhiên, có một số điểm cần lưu ý:

  1. Trong môi trường trình duyệt, khi khai báo biến bằng var ở phạm vi toàn cục, nó thực sự được thêm vào đối tượng window như một thuộc tính.

  2. Trong ví dụ của chúng ta:

    var status = "😎"
    

    Biến status này sẽ trở thành window.status. Hãy thử kiểm tra nó trên Console của trình duyệt nhé:

    Screenshot 2024-07-27 at 11.28.08.png

  3. Điều này khác với việc sử dụng let hoặc const, vốn không tạo ra thuộc tính trên đối tượng window.

  4. Trong ngữ cảnh của setTimeout, this thường trỏ đến đối tượng window (trong trình duyệt).

Vì vậy, khi chúng ta gọi data.getStatus.call(this), this đang trỏ đến window, và window.status thực sự có giá trị "😎".

Cảm ơn bạn đã chỉ ra điểm này. Đây là một ví dụ tốt về sự phức tạp của JavaScript và tầm quan trọng của việc hiểu rõ cách ngôn ngữ hoạt động trong các ngữ cảnh khác nhau.

Thường thì bạn sẽ không nên dùng var nếu chưa thực sự hiểu rõ về scope của nó.

0

👍️👍️👍️

0

Hay quá anh ơi, ra tiếp cách làm với Literal.club chia sẽ sách đang đọc đi anh

+1
thg 7 26, 9:49 CH

Em cảm ơn anh đã bỏ thời gian ra chia sẻ những bài viết có ích như thế này. Em có một thắc mắc mong anh giải đáp: "Trong global context, this trỏ đến global object (trong trình duyệt là window), và status global là "😎". ". Em tưởng là this trỏ đến obj window -> nhưng thuộc tính window.status chưa đc định nghĩa (biến status="😎" không phải là của obj window) -> kết quả là undefined

+1
thg 7 26, 10:37 SA

Cảm ơn bạn đã quan tâm, bạn có thể xem thêm bài viết mới tại https://viblo.asia/p/dns-va-route-53-tren-aws-phan-2-cac-khai-niem-co-ban-ve-route-53-aNj4vbx246r nha

0

Cảm ơn bạn nhé😘

0
thg 7 26, 7:01 SA

Miễn phí thì không hoàn toàn nhé, ví dụ nếu code C# thì các gói extension vẫn duy trì license như bên visual studio, không miễn phí cho các cty có doanh thu trên 1m USD

+1
thg 7 26, 4:45 SA

Bro, Untitled.png

0

@refacore vì em có dùng php ở trong nên dùng nginx làm webserver đứng trước á bác. Vì traefik không dùng trực tiếp với php được, hoặc em chưa tìm được cấu hình đúng 😦

0
thg 7 26, 2:16 SA

viết gì ngay từ đầu đã khó hiểu

0

😃) anh mắc xoăn còn không dám pub multimodal vào EU

0
Avatar
đã bình luận cho bài viết
thg 7 25, 12:10 CH

👍️

0
thg 7 25, 7:26 SA

image.png image.png em bị lỗi này khi chạy cicd pipeline ạ

0
thg 7 25, 7:02 SA

nginx ở đây chưa rõ vai trò. Khả năng cao là host Single page app. Nếu thế thì ko bỏ đi đc.

0
thg 7 25, 7:00 SA

Anh cho em hỏi chỗ này ạ:

Đúng ra hệ thống của bạn không cần nginx cũng được vì mình thấy con Traefik kia cũng đủ vai trò trong việc cân bằng tải và đưa port TCP của ứng dụng thành port HTTP rồi

Có thể dùng trực tiếp Traefik + php mà không cần thông qua 1 thằng webserver được à anh

0
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí