2009-03-04 35 views

Trả lời

33

Điểm cộng đơn nhất ở đó để hoàn thành, so với số nguyên đơn vị quen thuộc trừ (-x). Tuy nhiên nó có tác dụng phụ, dựa vào đây, đúc myInput.value vào một số, nếu nó là cái gì khác như một String:

alert(1+'2'); // 12 
alert(1+(+'2')); // 3 
+0

Cảm ơn, tôi không biết ký hiệu này. Tôi cho rằng điều này về cơ bản là viết tắt của parseInt()? –

+2

Chúng không hoàn toàn giống nhau, Luke, xem ở đây để biết một số thông tin: http://alexle.net/archives/290 –

+0

Và tất nhiên, nó sẽ gần gũi hơn với ‘parseFloat’. + -casting hỗ trợ đầy đủ các số dấu chấm động, bao gồm cả các dấu lạ như + 'Infinity'. – bobince

8

Đó gọi là "tử + unary", nó có thể được sử dụng như một cách nhanh chóng để buộc một biến được chuyển đổi thành một số, để nó có thể được sử dụng trong một phép toán.

2

+ là để định dạng nó thành một số như những người khác đã nói. Nó cần thiết ở đó vì đầu vào biểu mẫu luôn là các giá trị chuỗi và việc thêm một chuỗi vào một biến khác nối chúng lại với nhau thành một chuỗi mới, ngay cả khi chuỗi giống như một số.

3

Biến số thành một số.

1

Toán tử cộng đơn nhất là, nói theo số học, một vòng lặp. Nhưng giống như tất cả các toán tử số học thuần túy khác, nó sẽ chuyển đổi đối số của nó thành kiểu số của JavaScript và do đó có thể được sử dụng như một cách viết tắt cho một diễn viên rõ ràng.

Trích xuất loại nội dung rõ ràng trong JavaScript được thực hiện bằng cách gọi hàm hàm dựng thích hợp mà không cần bằng toán tử new.

Ví dụ,

Number(foo) 

sẽ chuyển đổi foo đến một nguyên thủy của số kiểu, trong khi new Number(foo) sẽ bổ sung tạo ra một đối tượng wrapper cho nguyên thủy và do đó tương đương với

Object(Number(foo)) 

Tương tự như này sử dụng + là việc sử dụng !! để chuyển đổi thành loại boolean.