Điều này thực sự nghe giống như một câu hỏi đơn giản nhưng tôi không có may mắn tìm kiếm. cái gì +d
trong
function addMonths(d, n, keepTime) {
if (+d) {
có nghĩa?
+…
trong JavaScript
Điều này thực sự nghe giống như một câu hỏi đơn giản nhưng tôi không có may mắn tìm kiếm. cái gì +d
trong
function addMonths(d, n, keepTime) {
if (+d) {
có nghĩa?
+…
trong JavaScript
Câu trả lời:
Các +
nhà điều hành trả về số đại diện của đối tượng. Vì vậy, trong trường hợp cụ thể của bạn, nó sẽ xuất hiện để dự đoán nếu trên có hay không d
là một số khác không.
Tham khảo tại đây . Và, như đã chỉ ra trong các ý kiến, ở đây .
.parseInt()
như thế nào?
Nó là một toán tử "+" đơn nhất mang lại một biểu thức số. Nó sẽ giống như d*1
, tôi tin.
Như đã giải thích trong các câu trả lời khác, nó chuyển đổi biến thành một số. Đặc biệt hữu ích khi d có thể là số hoặc chuỗi chức năng đánh giá một con số
Ví dụ (sử dụng addMonths
hàm trong câu hỏi):
addMonths(34,1,true);
addMonths("34",1,true);
sau đó +d
sẽ đánh giá một con số trong mọi trường hợp. Do đó, tránh việc phải kiểm tra loại và lấy các đường dẫn mã khác nhau tùy thuộc vào việc d
một số, một hàm hoặc một chuỗi có thể được chuyển đổi thành một số.
+d
sẽ không đánh giá một số với ví dụ gọi đầu tiên của addMonths
+function(){...}
sẽ NaN
không đánh giá chức năng