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