Hướng dẫn why do we use new in javascript? - tại sao chúng ta sử dụng new trong javascript?
Toán tử Show
Thử nóCú pháp
Thông số 4Một lớp hoặc hàm chỉ định loại thể hiện đối tượng. 5, 6, xông, 7Một danh sách các giá trị mà 4 sẽ được gọi với. 9 tương đương với 0, tức là nếu không có danh sách đối số nào được chỉ định, 1 được gọi mà không có đối số.Sự mô tảKhi một hàm được gọi với từ khóa 3, hàm sẽ được sử dụng làm hàm tạo. 3 sẽ làm những việc sau: 3 keyword, the function will be used as a constructor. 3 will do the following things:
Các lớp chỉ có thể được khởi tạo với toán tử 3 - cố gắng gọi một lớp mà không có 3 sẽ ném 0.
Tạo một đối tượng có chức năng xây dựng do người dùng xác định yêu cầu hai bước:
Lưu ý: Một đối tượng có thể có một thuộc tính tự nó là một đối tượng khác. Xem các ví dụ dưới đây. An object can have a property that is itself another object. See the examples below. Bạn luôn có thể thêm một thuộc tính vào một thể hiện đối tượng được xác định trước đó. Ví dụ: câu lệnh 3 thêm một thuộc tính 4 vào 5 và gán cho nó một giá trị là 6.Tuy nhiên, điều này không ảnh hưởng đến bất kỳ đối tượng nào khác. Để thêm thuộc tính mới vào tất cả các đối tượng cùng loại, bạn phải thêm thuộc tính vào thuộc tính 6 của hàm tạo. Điều này xác định một thuộc tính được chia sẻ bởi tất cả các đối tượng được tạo với chức năng đó, thay vì chỉ bằng một thể hiện của loại đối tượng. Mã sau đây thêm thuộc tính 4 có giá trị 9 cho tất cả các đối tượng thuộc loại 0, sau đó ghi lại giá trị đó bằng chuỗi 6 chỉ trong đối tượng thể hiện 5. Để biết thêm thông tin, xem nguyên mẫu.
Lưu ý: Mặc dù hàm hàm tạo có thể được gọi giống như bất kỳ hàm chính quy nào (nghĩa là không có toán tử 3 operator), in this case a
new object is not created and the value of 3 is also different. Một chức năng có thể biết liệu nó có được gọi bằng 3 hay không bằng cách kiểm tra 6. 6 chỉ là 8 khi hàm được gọi mà không có 3. Ví dụ: bạn có thể có một chức năng hoạt động khác nhau khi nó được gọi là so với khi nó được xây dựng:
Trước ES6, trong đó giới thiệu các lớp, hầu hết các bản dựng JavaScript đều có thể gọi và có thể xây dựng, mặc dù nhiều trong số chúng thể hiện các hành vi khác nhau. Đến tên một vài:
Sau ES6, ngôn ngữ nghiêm ngặt hơn về các hàm tạo và là các chức năng. Ví dụ:
Ví dụLoại đối tượng và thể hiện đối tượngGiả sử bạn muốn tạo một loại đối tượng cho xe hơi. Bạn muốn loại đối tượng này được gọi là 0 và bạn muốn nó có thuộc tính để tạo, mô hình và năm. Để làm điều này, bạn sẽ viết chức năng sau:
Bây giờ bạn có thể tạo một đối tượng được gọi là 7 như sau:
Câu lệnh này tạo ra 7 và gán nó các giá trị được chỉ định cho các thuộc tính của nó. Sau đó, giá trị của 9 là chuỗi "đại bàng", 0 là số nguyên năm 1993, v.v.Bạn có thể tạo bất kỳ số lượng đối tượng 1 bằng các cuộc gọi đến 3. Ví dụ:
Thuộc tính đối tượng tự nó là một đối tượng khácGiả sử bạn xác định một đối tượng được gọi là 3 như sau:
Và sau đó khởi tạo hai đối tượng 3 mới như sau:
Sau đó, bạn có thể viết lại định nghĩa của 0 để bao gồm một thuộc tính 6 có đối tượng 3, như sau: 0Để khởi tạo các đối tượng mới, sau đó bạn sử dụng các đối tượng sau: 1Thay vì truyền một chuỗi theo nghĩa đen hoặc giá trị số nguyên khi tạo các đối tượng mới, các câu lệnh trên truyền các đối tượng 8 và 9 làm tham số cho chủ sở hữu. Để tìm ra tên của chủ sở hữu của 0, bạn có thể truy cập thuộc tính sau:Sử dụng function Foo(bar1, bar2) { this.bar1 = bar1; this.bar2 = bar2; } 3 với các lớp 2Thô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êmTại sao từ khóa mới được sử dụng?Từ khóa mới trong JavaScript: Từ khóa mới được sử dụng để tạo một thể hiện của loại đối tượng do người dùng xác định và hàm tạo hàm.Nó được sử dụng để xây dựng và trả về một đối tượng của hàm tạo hàm.to create an instance of a user-defined object type and a constructor function. It is used to constructs and returns an object of the constructor function.
Bạn có nên sử dụng mới trong JavaScript không?Không 'xấu' khi sử dụng từ khóa mới.Nhưng nếu bạn quên nó, bạn sẽ gọi hàm tạo đối tượng là một hàm thông thường.Nếu hàm tạo của bạn không kiểm tra bối cảnh thực thi của nó thì nó sẽ không nhận thấy rằng 'cái này' chỉ ra đối tượng khác nhau (thông thường là đối tượng toàn cầu) thay vì thể hiện mới.. But if you forget it, you will be calling the object constructor as a regular function. If your constructor doesn't check its execution context then it won't notice that 'this' points to different object (ordinarily the global object) instead of the new instance. |