2009-03-04 36 views

cevap

33

Tekil artı, tanıdık tekli eksi (-x) ile karşılaştırıldığında, tamlık için var. "Tekli + operatörü" denir

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

Teşekkürler, bu notu bilmiyordum. Ben bu parseInt() için temelde shorthand olduğunu varsayalım? –

+2

Tam olarak aynı değiller, Luke, bilgi için buraya bakın: http://alexle.net/archives/290 –

+0

Artı, elbette parseFloat'a daha yakın olurdu. + -casting, + 'Infinity' gibi gariplikler dahil olmak üzere, tam kayan nokta sayısı değişmezlerini destekler. – bobince

8

, o kadar kullanılabilir: Ancak buna başka bir şey olmadığını, böyle bir dize olarak, bir Number içine myInput.value döküm, burada güvenerek, yan etkisi yoktur Bir değişkenin bir sayıya dönüştürülmesini zorlamak için hızlı bir yoldur, böylece bir matematik işleminde kullanılabilir.

2

+, başkalarının söylediği gibi bir sayıya basmaktır. Oraya ihtiyaç vardır çünkü form girişleri her zaman dize değerleridir ve dize bir sayı gibi görünse bile, başka bir değişkene bir dize eklemek onları yeni bir dizeye birleştirir.

1

Unary plus operatörü aritmetik olarak bir noop'dur. Ancak diğer tüm aritmetik işleçler gibi, argümanını JavaScript'in sayı türüne dönüştürecek ve bu nedenle açık bir oyuncu için kısa yol olarak kullanılabilecek.

JavaScript'te açık türdeki döküm, aracılığıyla uygun yapıcı işlevlerini new işlecini kullanarak çağırarak yapılır. Örneğin

, new Number(foo) ilave ilkel için bir sarıcı nesnesi oluşturabilir ve bu nedenle bu benzer

Object(Number(foo)) 

eşdeğerdir; oysa

Number(foo) 

, tip sayısının bir nesnenin üstüne foo dönüştürür + kullanımı, boole türüne dönüştürmek için !! kullanımıdır.