1. 程式人生 > >javascript中加號(+)操作符的一些神奇作用

javascript中加號(+)操作符的一些神奇作用

javascript是一門神奇的語言,這沒神奇的語言中有一個神奇的加操作符。

常用的加操作符我們可以用來做:

1.加法運算,例如:alert(1+2); ==>3
2.字串連線,例如:alert(“a”+”b”);==>”ab”

高階一點的還有“+=”,也是做以上兩種操作的。

昨天在javascript叢林群裡問了問題:怎麼把“2000-09-11 19:22”這個日期格式字串轉換成毫秒數?

斬夢人天天馬上回答我: +new Date('2000-09-11 19:22′),試了一下不行,正確的應該是+new Date('2000/09/11 19:22′)。

答案似乎已經不重要了,你看這前面有個加操作符,說實話這種寫法以前真沒見過。神奇的javascript中的加操作符,還有非常神奇的作用,轉換資料型別,一般是字串和數值的轉換,例如,javascript叢林網友jason給的例子:

複製程式碼 程式碼如下:
// 16進位制轉換:
+”0xFF”;              // -> 255

// 獲取當前的時間戳,相當於`new Date().getTime()`:
+new Date();

// 比 parseFloat()/parseInt()更加安全的解析字串
parseInt(“1,000″);    // -> 1, not 1000
+”1,000″;             // -> NaN, much better for testing user input
parseInt(“010″);      // -> 8, because of the octal literal prefix
+”010″;               // -> 10, `Number()` doesn't parse octal literals
//一些簡單的縮寫比如: if (someVar === null) {someVar = 0};
+null;                // -> 0;

// 布林型轉換為整型
+true;                // -> 1;
+false;               // -> 0;

//其他:
+”1e10″;              // -> 10000000000
+”1e-4″;              // -> 0.0001
+”-12″;               // -> -12:

當然還有數字加空字串的操作就可以將數字轉化為字串,例如: alert( typeof (1+””)); // ->string;

另外附送一個將字串轉化為數字的減操作符,例如: alert( typeof (“123″-0));//->number;

當然對於加操作符可能還有一些未知的使用特性,歡迎留言補充

原文地址:http://www.jb51.net/article/50748.htm