Chức năng gọi trong javascript chức năng tĩnh
giới tính tĩnh = "Nam"; Show
người dùng in tĩnh (nam){ // phương thức tĩnh bảng điều khiển. log(`Tên - ${nam. tên } \nTuổi - ${nam. tuổi} \nGiới tính - ${Nam. giới tính}`); let user = new Male("Ram", 20); bảng điều khiển. log("Truy cap nam. thuộc tính tĩnh giới tính"); bảng điều khiển. log(Nam. giới tính); bảng điều khiển. log("Gọi phương thức tĩnh Nam. printUser"); bảng điều khiển. nhật ký (người dùng. giới tính); bảng điều khiển. nhật ký (người dùng. printUser); Phương thức tĩnh trong JavaScript là phương thức có từ khóa tĩnh được thêm vào trước chính nó. Các phương thức như vậy không thể được truy cập thông qua các đối tượng được khởi tạo nhưng có thể được truy cập thông qua tên lớp. Điều này là do các phương thức tĩnh thuộc về lớp trực tiếp. Kế thừa thậm chí áp dụng cho các phương pháp tĩnh. Ngoài ra, các phương thức này có thể được gọi bằng các phương thức không tĩnh và thậm chí cả các hàm tạo. Các phương thức tĩnh được sử dụng để tạo các hàm tiện ích và tạo các đối tượng chứa thông tin mặc định Phạm vi
Sự thôi thúc sử dụng phương thức tĩnh trong JavaScriptTrước khi bắt đầu sử dụng thực tế phương thức tĩnh, chúng ta cần biết động cơ khiến chúng ta sử dụng phương thức tĩnh. Hãy xem xét rằng chúng ta có một lớp tên là Square và một phương thức có tên là findPerimeter, được định nghĩa là
Phương thức tĩnh trong JavaScript là gì?Một phương thức tĩnh là một phương thức được định nghĩa trong một lớp bằng cách sử dụng từ khóa tĩnh. Phương thức như vậy hóa ra hơi khác so với phương thức JavaScript thông thường. Sự khác biệt của phương thức tĩnh là nó không thể được truy cập bởi bất kỳ đối tượng khởi tạo nào của lớp. Thay vào đó, phương thức tĩnh chỉ có thể được truy cập bằng tên lớp vì nó trực tiếp thuộc về lớp Trước khi biết cách gọi một phương thức tĩnh, điều cần thiết là phải biết cú pháp của nó Cú pháp cho phương thức tĩnh trong JavaScriptĐể định nghĩa một phương thức tĩnh trong JavaScript, chúng ta cần đặt tiền tố từ khóa tĩnh trước định nghĩa của phương thức Giả sử, chúng ta có một phương thức JavaScript sendMessage được định nghĩa bên trong một lớp Trò chuyện
Truy cập phương thức tĩnh trong JavaScriptĐầu tiên, chúng ta sẽ thấy cách truy cập phương thức tĩnh sai và sau đó là cách đúng. Biết sai trước sẽ biết cách tiếp cận không hiệu quả Cách sai để truy cập phương thức tĩnh trong JavaScriptGiả sử chúng ta tạo một đối tượng ngoài lớp Trò chuyện như Và bây giờ, chúng tôi muốn sử dụng đối tượng khởi tạo này để gọi phương thức tĩnh sendMessage. Sau đó, nếu chúng ta làm
Mối quan hệ giữa phương thức tĩnh và lớpĐể hiểu mối quan hệ thực tế giữa phương thức tĩnh và lớp, chúng ta sẽ tiếp tục với ví dụ về lớp Square và phương thức tĩnh so sánhPerimeter, mà chúng ta đã thấy ở đầu bài viết này. Lần này chúng ta sẽ triển khai phương thức tĩnh bên trong lớp
Mối quan hệ giữa phương thức tĩnh và đối tượngKhông có mối quan hệ trực tiếp nào tồn tại giữa phương thức tĩnh và đối tượng. Các đối tượng không được phép truy cập một phương thức tĩnh. Về mặt kỹ thuật, điều này xảy ra bởi vì bất cứ khi nào một phương thức tĩnh được định nghĩa trong một lớp, thì phương thức tĩnh đó về cơ bản được lưu trữ bên trong hàm tạo của lớp. Một phương thức tĩnh không được lưu trữ bên trong nguyên mẫu của lớp và do đó không thể truy cập được đối với các đối tượng. Trong JavaScript, các đối tượng chỉ có thể truy cập những thành viên của một lớp được lưu trữ bên trong nguyên mẫu của lớp. Hình ảnh dưới đây nói lên ý tưởng Phương thức tĩnh và cái nàyVề cơ bản, một phương thức tĩnh thuộc về một lớp. Do đó, khi chúng ta sử dụng từ khóa this bên trong phần thân của phương thức tĩnh, thì từ khóa this sẽ đề cập đến chính lớp đó. Ý tưởng trở nên rõ ràng trong ví dụ sau ________số 8_______Trong ví dụ trên, chúng ta có một phương thức tĩnh checkThis được định nghĩa bên trong một lớp Chat Bây giờ, nếu chúng ta làm
Truy cập các thành viên tĩnh từ một phương thức tĩnh khácCó, thậm chí có thể truy cập các thành viên tĩnh từ một phương thức tĩnh khác. Việc truy cập như vậy đạt được bằng cách sử dụng từ khóa this. Giả sử, chúng ta có một lớp Người dùng và ba thành viên tĩnh được định nghĩa trong lớp 0 Truy cập các thành viên tĩnh từ một hàm tạo lớp và các phương thức không tĩnhĐầu tiên, chúng ta sẽ xem cách truy cập các thành viên tĩnh từ một hàm tạo của lớp, sau đó, thứ hai, chúng ta sẽ xem cách truy cập chúng từ các phương thức không tĩnh Truy cập các thành viên tĩnh từ một Trình xây dựng lớpChà, một hàm tạo của lớp có thể truy cập một thành viên tĩnh. Truy cập như vậy có thể đạt được thông qua tên lớp. Ví dụ dưới đây mô tả ý tưởng 2 Vì phương thức tĩnh thuộc về một lớp và không thể truy cập thông qua các đối tượng, điều này có nghĩa là bộ nhớ cho phương thức tĩnh chỉ được cấp phát một lần và không phụ thuộc vào số lượng đối tượng khởi tạo được tạo. Điều này cũng ngụ ý rằng phương thức tĩnh không được chia sẻ giữa các đối tượng được khởi tạo bởi vì một phương thức như vậy không thể được gọi thông qua bất kỳ đối tượng được khởi tạo nào Tại sao chúng ta cần phương thức tĩnh trong JavaScriptNhư đã thảo luận ở đầu bài viết này, ý tưởng có một phương thức tĩnh trong JavaScript xuất hiện khi chúng ta muốn liên kết phương thức đó với một lớp hơn là với bất kỳ đối tượng được khởi tạo nào. Có thể có hai trường hợp sử dụng (nhưng không giới hạn) khi chúng tôi muốn có một phương thức tĩnh Để tạo các chức năng tiện íchHãy xem một ví dụ để hiểu cách một phương thức tĩnh có thể được sử dụng như một hàm tiện ích. Giả sử chúng ta có một lớp Người dùng được định nghĩa là 7 Sự khác biệt giữa Phương thức tĩnh và Phương thức không tĩnh trong JavaScriptPhương thức tĩnh Phương thức không tĩnh1. Trực thuộc lớp1. Thuộc lớp gián tiếp2. Không thể được gọi thông qua các đối tượng khởi tạo2. Có thể được gọi thông qua các đối tượng khởi tạo3. Từ khóa this, khi được sử dụng bên trong phương thức, đề cập đến lớp 3. Từ khóa this khi được sử dụng bên trong phương thức, đề cập đến đối tượng mà phương thức được gọi thông qua đó Những điểm cần nhớ về phương thức tĩnh trong JavaScript1. Một phương thức có thể được tạo thành tĩnh bằng cách chỉ cần thêm từ khóa tĩnh vào nó 2. Phương thức tĩnh là một phương thức của một lớp nhưng không phải của đối tượng được khởi tạo 3. Phương thức tĩnh không thể được truy cập bởi các đối tượng khởi tạo 4. Phương thức tĩnh có thể được truy cập bằng tên lớp 5. Về mặt kỹ thuật, phương thức tĩnh được lưu trữ bên trong hàm tạo của lớp chứ không phải nguyên mẫu của lớp 6. Các phương thức tĩnh hoàn toàn không được chia sẻ với các đối tượng được khởi tạo 7. Bất cứ khi nào một phương thức tĩnh được định nghĩa, bộ nhớ của nó chỉ được cấp phát một lần và bộ nhớ không phụ thuộc vào số lượng đối tượng được khởi tạo 8. Các phương thức tĩnh thường được sử dụng để tạo một đối tượng chứa thông tin mặc định hoặc để tạo các hàm tiện ích 9. Kế thừa cũng hoạt động cho các phương thức tĩnh Thuộc tính tĩnhTrong JavaScript, ngoài việc có các phương thức tĩnh trong một lớp, chúng ta cũng có thể có các thuộc tính tĩnh trong một lớp. Các thuộc tính tĩnh khác với các thuộc tính thông thường giống như cách các phương thức tĩnh khác với các phương thức thông thường mà chúng ta đã thấy trong các phần trước Cú pháp cho thuộc tính tĩnh trong JavaScriptGiả sử, chúng ta có một lớp Trò chuyện và một thông báo thuộc tính 1 Kế thừa các phương thức và thuộc tính tĩnhNgay cả các phương thức và thuộc tính tĩnh cũng có thể được kế thừa. Giả sử chúng ta có một lớp cha là Người dùng và một lớp con là Khách hàng 3 |