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 đố...
middle

middle

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

middle

Sự khác nhau giữa anonymous functionnamed function trong Javascript là gì?

middle

Giải thích cách hoạt động của JSONP và tại sao nó không thực sự là Ajax?

middle

Object trong Javascript là gì?

Bình luận

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

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