Hướng dẫn how do you call a constructor in javascript? - làm thế nào để bạn gọi một hàm tạo trong javascript?
Phương pháp Show
Lưu ý: Trang này giới thiệu cú pháp 1 syntax. For the 1 property present on all objects, see
4.Thử nóCú pháp
Sự mô tảHàm tạo cho phép bạn cung cấp bất kỳ khởi tạo tùy chỉnh nào phải được thực hiện trước khi bất kỳ phương thức nào khác có thể được gọi trên một đối tượng khởi tạo.
Nếu bạn không cung cấp hàm tạo riêng của mình, thì hàm tạo mặc định sẽ được cung cấp cho bạn. Nếu lớp của bạn là lớp cơ sở, hàm tạo mặc định trống: Nếu lớp của bạn là một lớp có nguồn gốc, hàm tạo mặc định gọi hàm tạo cha mẹ, việc chuyển qua bất kỳ đối số nào được cung cấp:
LƯU Ý: Sự khác biệt giữa một hàm tạo rõ ràng như ở trên và hàm tạo mặc định là cái sau không thực sự gọi trình lặp lại mảng thông qua việc lan truyền đối số. The difference between an explicit constructor like the one above and the default constructor is that the latter doesn't actually invoke the array iterator through argument spreading. Điều đó cho phép mã như thế này hoạt động:
Lớp 5 không cần một hàm tạo rõ ràng, bởi vì nó không cần phải thực hiện bất kỳ khởi tạo tùy chỉnh nào. Hàm xây dựng mặc định sau đó chăm sóc khởi tạo cha mẹ 6 từ đối số mà nó được đưa ra.Tuy nhiên, nếu bạn cung cấp hàm tạo của riêng mình và lớp của bạn xuất phát từ một số lớp cha, thì bạn phải gọi rõ ràng hàm tạo lớp cha mẹ bằng cách sử dụng 7. Ví dụ:
Sử dụng 8 trên một lớp trải qua các bước sau:
Trong thân 1, bạn có thể truy cập đối tượng được tạo thông qua 1 và truy cập lớp được gọi bằng 8 đến 8. Lưu ý rằng các phương thức (bao gồm cả getters và setters) và chuỗi nguyên mẫu đã được khởi tạo trên 1 trước khi 1 được thực thi, do đó bạn thậm chí có thể truy cập các phương thức của lớp con từ hàm tạo của siêu lớp. Tuy nhiên, nếu các phương pháp đó sử dụng 1, 1 sẽ chưa được khởi tạo hoàn toàn. Điều này có nghĩa là đọc các trường công khai của lớp dẫn xuất sẽ dẫn đến 3, trong khi đọc các trường riêng sẽ dẫn đến 4.
Phương thức 1 có thể có giá trị trả về. Mặc dù lớp cơ sở có thể trả về bất cứ thứ gì từ hàm tạo của nó, lớp dẫn xuất phải trả về một đối tượng hoặc 3 hoặc 4 sẽ bị ném.
Nếu hàm tạo lớp cha mẹ trả về một đối tượng, đối tượng đó sẽ được sử dụng làm giá trị 1 trên đó các trường lớp của lớp dẫn xuất sẽ được xác định. Thủ thuật này được gọi là "Quay trở lại", cho phép các trường của lớp có nguồn gốc (bao gồm cả các trường riêng tư) được xác định trên các đối tượng không liên quan.Chỉ có thể có một phương pháp đặc biệt với tên 1 trong một lớp. Có nhiều hơn một lần xuất hiện của phương thức 1 trong một lớp sẽ gây ra lỗi 1. Có một getter hoặc setter được gọi là 1 cũng là một 1. 1 tuân theo cú pháp phương thức bình thường, vì vậy các giá trị mặc định tham số, tham số REST, v.v. đều có thể được sử dụng.
Các hàm tạo phải là một tên theo nghĩa đen. Các thuộc tính được tính toán không thể trở thành hàm tạo.
Ví dụSử dụng hàm tạoĐoạn mã này được lấy từ mẫu lớp (bản demo trực tiếp).
Gọi Super trong một hàm tạo bị ràng buộc với một nguyên mẫu khácỞ đây, nguyên mẫu của lớp 5 được thay đổi, nhưng hàm tạo của lớp cơ sở của nó, 6, vẫn được gọi khi một thể hiện mới của một hình vuông được tạo. Để biết thêm thông tin về lý do tại sao, xem tài liệu tham khảo 7. 0Thông số kỹ thuật
Tính tương thích của trình duyệt webBảng BCD chỉ tải trong trình duyệt Xem thêmLàm thế nào để bạn gọi một hàm tạo?Gọi một hàm tạo từ một phương thức không, bạn không thể gọi một hàm tạo từ một phương thức. Nơi duy nhất mà bạn có thể gọi các nhà xây dựng bằng cách sử dụng này (), hoặc, Super Super () là dòng đầu tiên của một hàm tạo khác. Nếu bạn cố gắng gọi các nhà xây dựng rõ ràng ở nơi khác, một lỗi thời gian biên dịch sẽ được tạo ra.The only place from which you can invoke constructors using “this()” or, “super()” is the first line of another constructor. If you try to invoke constructors explicitly elsewhere, a compile time error will be generated.
Tôi có thể gọi phương thức trong trình xây dựng JavaScript không?Có, có thể, khi hàm hàm tạo của bạn thực thi, giá trị này đã có thuộc tính bên trong [[nguyên mẫu]] trỏ đến các trường hợp ValidateFields., when your constructor function executes, the this value has already the [[Prototype]] internal property pointing to the ValidateFields.
Làm thế nào bạn có thể khai báo một lớp với một hàm tạo trong JavaScript?Các phương thức lớp được tạo với cùng một cú pháp với các phương thức đối tượng.Sử dụng lớp từ khóa để tạo lớpSau đó thêm bất kỳ số lượng phương thức.Use the keyword class to create a class. Always add a constructor() method. Then add any number of methods.
Bạn có cần một hàm tạo trong JavaScript không?Bạn có thể xác định một lớp mà không có hàm tạo trong JavaScript.Nếu bạn không chỉ định phương thức Constructor, hàm tạo mặc định sẽ được sử dụng.Theo mặc định, hàm tạo được định nghĩa là: phần thân của một lớp là phần nằm trong dấu ngoặc xoăn {}.Đây là nơi bạn xác định các thành viên lớp, chẳng hạn như phương thức hoặc nhà xây dựng.. If you do not specify a constructor method a default constructor is used. By default, the constructor is defined as: The body of a class is the part that is in curly brackets {} . This is where you define class members, such as methods or constructors. |