Câu hỏi phỏng vấn Javascript
Câu hỏi

Giải thích sự khác biệt giữa function Person(){}, var person = Person(), và var person = new Person() là gì?

Câu trả lời

Sự khác biệt giữa function Person(){}, var person = Person(), và var person = new Person() là như sau:

  1. function Person(){}: Đây là một khai báo hàm bình thường. Cách viết này tạo ra một hàm có tên là Person. Theo quy ước, việc sử dụng PascalCase (viết hoa chữ cái đầu tiên của mỗi từ) cho tên hàm như vậy ám chỉ rằng hàm này được thiết kế để sử dụng như một hàm tạo (constructor function). Hàm tạo là một hàm đặc biệt được sử dụng để tạo ra các đối tượng mới.
  2. var person = Person(): Câu lệnh này gọi hàm Person như một hàm bình thường và gán giá trị trả về của hàm cho biến person. Nếu hàm Person được thiết kế để sử dụng như một hàm tạo nhưng lại được gọi mà không sử dụng từ khóa new, thì đây là một sai lầm phổ biến. Trong trường hợp này, thay vì tạo ra một đối tượng mới, hàm sẽ trả về undefined và giá trị này sẽ được gán cho biến person. Điều này dẫn đến việc không thể truy cập các thuộc tính của đố...
Bạn cần đăng nhập để xem
middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Ưu điểm và nhược điểm của việc sử dụng use strict là gì?

middle

Sử dụng method nào được trả về với log '{ name: "Lydia", age: 22 }'?

middle

Kết quả đoạn code sau là gì? Hãy giải thích tại sao?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào