標籤:整數 font bre 求職 不能 邏輯 nbsp size 是什麼
Number()遇到null會轉換為0,遇到underfind會轉換為NaN。
一般整數用parseInt()方法,遇到空會轉換成NaN。(注意差別)該方法可設定第二個參數 parseInt(“要轉換字串”,幾進位)。遇到小數點會停止解析,後面忽略。
parseFloat()也是從第一個字元開始解析,直到末尾或者遇見一個無效的浮點數字字元(第二個小數點)為止。十六進位字串始終被解釋為0,只解析十進位,沒有第二個參數。
toString()方法可以直接調用不需要輸入參數,在調用數值的toString()方法時,可以傳遞一個參數,輸出值的基數,二進位到十六進位都可以,預設情況下是十進位。
--和++
當操作符在被操作值之前,執行前置遞增和遞減操作時,變數的值都是在語句被求職以前改變的。
後置遞增和遞減操作是是在你包含他們的語句被求值之後才執行的。
位操作符(這玩意有啥用?)、
將字串變成32位二進位碼,從右向左方向,第三十二位表示為加號或減號。理論上無符號就是正整數,切無符號第32位可以表示數字而非符號,理論上數值更大。
求負數的絕對值的二進位碼,求二進位反碼,得到的二進位反碼加一。
NaN和Infinity都會被當成0來處理。
按位非(NOT)~表示。操作本質是操作輸的負值減一。
按位與(AND)&表示。只有在兩個對位元值都是1 時才會返回1,任何一個是0結果都是0。
按位或(OR)|表示。對位元值有一個是1就會返回1。
按位異或(XOR)^表示。對位元值只有一個是1時才會返回1.
左移 <<表示。原數值的的右側多出五個空位。
有符號右移>>表示(保留加號或減號標記,從第31位開始),原數值的左側多出五個空位。
無符號右移>>>表示。對於整數來說 無符號和有符號一樣,但是對於負數來說情況不同。首先無符號右移是以0來填充空位。而不像有符號右移那樣以符號來填充。其次無符號右移操作會把負數的二進位碼當成正數的二進位碼。而且由於負數以其絕對值的二進位補碼形式表示,因此就會導致無符號右移後的結果非常大。
邏輯非(!)邏輯非操作符首先會講他的運算元轉換為一個布爾值,然後對其求反。
邏輯與(&&)屬於短路操作,即第一個運算元能決定結果,那麼就不會再對第二個運算元求值。如果第一個運算元是false則無論第二個運算元是什麼值,結果都不在可能是true了。
邏輯或(||)屬於短路操作符,第一個操作的求值結果為true,就不會對第二個運算元求值了。(可以避免變數賦值null或者underfind)
乘性操作符
乘法,沒啥好說的。
除法,零被零除結果是NaN。只要是和Infinity(無論正負)有關的,結果都是Infinity正負看操作符。
求模(就是取餘數)%:
- 如果被除數是無窮大值而除數是有限大的數值,則結果都是NaN
- 如果被除數是有限大的數值而除數是零,則結果是NaN
- 如果是Infinity被Infinity除則結果是NaN
- 如果被除數是有限大的數值而除數是無窮大的數值,則結果是被除數
(神馬?忘記了被除數和除數的關係了?)看這裡:
首先你要搞清楚,“除”和“除以”的概念。比如:十四除以二,列出的式子是“14÷2”;而十四除二,列出的式子是”2÷14“,”除“和”除以“的概念是不同的。
所以前面的數(14)就是被後面的數(2)除,叫作”被除數“。(列出式子就是”14÷2“)。 ”被除數“就是被”除數“除。
14÷2,讀作:”14被2除“或”14除以2“。
在此之前,我完全想不到加減乘除這麼多道道。(想象一個表情)
加性操作符,可以使用括弧告訴解析器先計算其結果。十分好用。特別是三個字串相加的時候可以先把兩個都是數位字串相加,有限運算。
所有的運算,在碰到運算元是字串、布爾值、null或者undefined都會在後台調用Number()函數。更多體現在“ ” null值為空白的時候(0)。
關係操作符,在比較字串時,實際比較的是兩個字串中對應位置的每個字元的字元編碼值。 -----大寫字母的字元編碼全部小於小寫字母的字元編碼。 因此,要按字母排序比較必須要把同時轉換大小寫。 當一個字串內是數字時,與另一個數字比較會,會將字串轉換成數值,然後再比較大小。
var result = “23” <“3”//true 因為“2”的編碼是50,而“3”的編碼是51.
相等和不相等:null和undefined是相等的。null和undefined不能轉為成其他值。如果一個是NaN則相等為false,如果兩個都是NaN相等還是flase。一個是對象會調用valueOf()方法。 null==0 //false
if、do-while、while 、for、for-in、break:立即退出迴圈,continue:退出當前這次迴圈,繼續下一次迴圈直到結束、label可以再代碼中添加標籤,以便將來使用。
類似於 label:for(){ break label;//返回到哪一個標籤}、with(expression){ statement},就是簡化多次編寫同一個對象的工作,不推薦使用,strict 模式下不允許使用。
switch 比較好用。
JAVASCRIPT 轉換字串雜記