2016-04-06 17 views
32

Ứng dụng của tôi có biểu mẫu HTML với một số yếu tố đầu vào được điền từ phần phụ trợ và các mục nhập khác được người dùng nhập (trong mục nhập time). Chức năng onChange chạy qua từng đầu vào khi người dùng thay đổi giá trị.Cách kiểm tra xem biến có phải là đối tượng Moment.js không?

Các yếu tố đầu vào được điền từ phần phụ trợ được chuyển đổi thành moment đối tượng, ngày do người dùng nhập chỉ là các chuỗi. Điều này có nghĩa là hàm onChange gặp một số đối tượng moment và một số chuỗi. Tôi cần biết đầu vào nào là các đối tượng moment và các đối tượng nào không.

Phương pháp được đề xuất để kiểm tra xem biến có phải là đối tượng moment không?

Tôi đã nhận thấy moment đối tượng có thuộc tính _isAMomentObject nhưng tôi tự hỏi nếu có cách khác để kiểm tra xem biến có phải là đối tượng moment hay không.

Một tùy chọn khác mà tôi đã thử đang gọi moment trên biến bất kể. Điều này chuyển đổi các biến số string thành moment đối tượng và dường như không ảnh hưởng đến các đối tượng hiện có moment.

+4

Tôi đang bỏ phiếu để đóng câu hỏi này là không có chủ đề vì [câu trả lời nằm trong tài liệu chính thức] (http://momentjs.com/docs/#/query/is-a-moment/). – Mathletics

+0

Mặc dù một số tìm kiếm tôi chưa từng thấy @Mathletics. Như Jared Smith đã chỉ ra rằng nó được chôn trong tài liệu. –

+1

@Mathletics Tôi thực sự tìm thấy nó bằng cách duyệt mã nguồn, sau đó đã có thể kiểm soát-f các tài liệu cho liên kết. Google không có sự giúp đỡ (mà tôi tưởng tượng là những gì nhắc câu hỏi ngay từ đầu), điều này được cho là một nguồn tài nguyên thân thiện với công cụ tìm kiếm hơn (và do đó đáng để bỏ qua cho hậu thế). –

Trả lời

38

Moment có một isMoment method cho chỉ một mục đích như vậy. Nó không phải là đặc biệt dễ dàng tìm thấy trong các tài liệu, trừ khi bạn biết những gì để tìm kiếm.

Trước tiên, séc sẽ kiểm tra instanceof và sau đó không thực hiện được (ví dụ trong một số trường hợp phân lớp hoặc trường hợp chéo) sẽ kiểm tra thuộc tính _isAMomentObject.

17

Bạn có thể kiểm tra nếu nó là một khoảnh khắc instanceof:

moment() instanceof moment; // true 
+4

Chỉ khi cá thể và chính khoảnh khắc nằm trong cùng một cửa sổ. – JAAulde

+0

Điểm tốt, tôi đã giả định trường hợp đơn giản nhất. –

Các vấn đề liên quan