Hướng dẫn how to echo the value of a static property in javascript? - làm thế nào để lặp lại giá trị của một thuộc tính tĩnh trong javascript?
Tôi đã thấy một vài câu trả lời tương tự, nhưng tôi muốn đề cập rằng bài đăng này mô tả nó tốt nhất, vì vậy tôi muốn chia sẻ nó với bạn. Dưới đây là một số mã được lấy từ nó, mà tôi đã sửa đổi để có được một ví dụ hoàn chỉnh mà hy vọng mang lại lợi ích cho cộng đồng vì nó có thể được sử dụng làm mẫu thiết kế cho các lớp. Nó cũng trả lời câu hỏi của bạn:answers your question:
Với ví dụ đó, bạn có thể truy cập các thuộc tính/hàm tĩnh như sau:static properties/function as follows:
Và các thuộc tính/hàm đối tượng chỉ đơn giản là:object properties/functions simply as:
Lưu ý rằng trong podcast.immutableProp (), chúng tôi có một đóng cửa: tham chiếu đến _sOmeprivateVarable được giữ bên trong hàm. that in podcast.immutableProp(), we have a closure: The reference to _somePrivateVariable is kept inside the function. Bạn thậm chí có thể xác định getters và setters. Hãy xem đoạn mã này (trong đó 2 là nguyên mẫu của đối tượng mà bạn muốn khai báo một thuộc tính, 3 là một biến riêng tư không hiển thị bên ngoài hàm tạo):getters and setters. Take a look at this code snippet (where 2 is the object's prototype for which you want to declare a property, 3 is a private variable not visible outside of the constructor):
Nó xác định thuộc tính 4 qua các hàm 5 và 6 - nếu bạn không chỉ định 6, thì thuộc tính chỉ được đọc và không thể sửa đổi (lưu ý bạn sẽ không gặp lỗi nếu bạn cố gắng đặt nó, nhưng nó không có hiệu ứng). Mỗi thuộc tính có các thuộc tính 8, 9 (cho phép thay đổi sau khi khai báo) và 0 (cho phép sử dụng nó làm bảng điều khiển), theo mặc định 1. Bạn có thể đặt chúng qua 2 trong tham số thứ 3, ví dụ: 3.Điều gì cũng hợp lệ là cú pháp này:
trong đó xác định một thuộc tính có thể đọc/có thể ghi 4, thuộc tính đọc 5 và thuộc tính chỉ ghi 6, thông qua đó có thể truy cập thuộc tính 4.Usage:
Notes: Để tránh hành vi bất ngờ trong trường hợp bạn đã quên từ khóa 8, tôi khuyên bạn nên thêm mục sau vào chức năng 9:
Bây giờ cả hai lần khởi tạo sau đây sẽ hoạt động như mong đợi:
Câu lệnh 'mới' tạo ra một đối tượng mới và sao chép tất cả các thuộc tính và phương thức, tức là
Ngoài ra, lưu ý rằng trong một số tình huống, có thể hữu ích khi sử dụng câu lệnh 0 statement in the constructor function
9 to return a custom object protecting functions the class internally relies on but which need to be exposed. This is explained further in chapter 2 (Objects) of the article series.Bạn có thể nói rằng 4 và 5 kế thừa từ 9. Bây giờ, điều gì sẽ xảy ra nếu bạn muốn thêm một phương thức vào podcast áp dụng cho tất cả chúng sau khi 4 và 5 đã được khởi xướng? Trong trường hợp này, hãy sử dụng 7 như sau:
Bây giờ hãy gọi 4 và 5 một lần nữa: 0Bạn có thể tìm thêm chi tiết về các nguyên mẫu ở đây. Nếu bạn muốn làm nhiều kế thừa hơn, tôi khuyên bạn nên xem xét điều này. Loạt bài viết tôi đã đề cập ở trên rất được khuyến khích đọc, chúng cũng bao gồm các chủ đề sau:highly recommended to read, they include also the following topics:
Lưu ý rằng "tính năng" chèn dấu chấm phẩy tự động của JavaScript (như đã đề cập trong 6.) thường rất chịu trách nhiệm gây ra các vấn đề lạ trong mã của bạn. Do đó, tôi thà coi nó là một lỗi hơn là một tính năng. that the automatic semicolon insertion "feature" of JavaScript (as mentioned in 6.) is very often responsible for causing strange issues in your code. Hence, I would rather regard it as a bug than as a feature. Nếu bạn muốn đọc thêm, đây là một bài viết MSDN khá thú vị về các chủ đề này, một số trong số chúng được mô tả ở đó cung cấp thêm chi tiết.MSDN article about these topics, some of them described there provide even more details. Điều thú vị để đọc (cũng bao gồm các chủ đề được đề cập ở trên) là những bài viết từ Hướng dẫn MDN JavaScript:interesting to read as well (also covering the topics mentioned above) are those articles from the MDN JavaScript Guide:
Nếu bạn muốn biết cách mô phỏng các tham số C# 0 (như trong 1) trong JavaScript, bạn có thể tìm thấy mã mẫu ở đây.emulate c# 0 parameters (like in 1) in JavaScript, you can find sample code here.Những người bạn đang làm việc với IE (không có bảng điều khiển cho JavaScript trừ khi bạn mở các công cụ nhà phát triển bằng F12 và mở tab Bảng điều khiển) có thể thấy đoạn trích sau đây hữu ích. Nó cho phép bạn sử dụng 2 như được sử dụng trong các ví dụ trên. Chỉ cần chèn nó trước hàm 9.working with IE (which has no console for JavaScript unless
you open the developer tools using F12 and open the console tab) might find the following snippet useful. It allows you to use 2 as used in the examples above. Just insert it before the 9 function.Để thuận tiện cho bạn, đây là mã trên trong một đoạn mã hoàn chỉnh đơn: Notes:
1Tất nhiên, bạn có thể - và nên - đặt mã tập lệnh vào một tệp 4 riêng biệt;Điều này chỉ được viết nội tuyến để giữ ví dụ ngắn.Các hàm tự thu hoạch (còn được gọi là iife = biểu thức chức năng được gọi ngay lập tức) được mô tả chi tiết hơn ở đây. |