字面量
字面量:英語叫做literals,有些書上叫做直接量。看見什么,它就是什么。
我們先來學習數字的字面量,和字符串的字面量。剩余的字面量類型,我們日后遇見再介紹。
數字的字面量
數字的字面量,就是這個數字自己,並不需要任何的符號來界定這個數字。
JavaScript中,數字的字面量可以有三種進制:
10進制:普通的數字就是十進制
8進制:如果以0開頭、或者以0o開頭、或者以0O開頭的都是八進制,八進制只能用0~7來表示
16進制:如果以0x開頭的都是十六進制。
八進制舉例:
<script type="text/javascript"> //以0開頭,所以就是八進制;顯示的時候會以十進制顯示 //3*8+6=30 console.log(036); //30 console.log(044); //36 console.log(010); //8 console.log(0o36); //30 console.log(0O36); //30 </script> |
運行結果:
注意,八進制只能出現0~7這8中字符,如果表示不合法,那么JS將自動的認為你輸入錯了,從而用十進制進行顯示:
console.log(088); //以0開頭,按理說是八進制,但是后面的數字錯了,所以以十進制顯示 |
但是以0o開頭、0O開頭的數字,如果后面寫錯了,控制台報錯!
console.log(0o88); |
再看一下16進制:
console.log(0xff); console.log(0x2b); console.log(0x11); |
運行結果:
如果后面有錯誤的寫法,那么控制台報錯:
console.log(0x2m); |
總結一下,下面的輸出結果都是15:
console.log(15); console.log(017); console.log(0o17); console.log(0O17); console.log(0xf); |
下面的輸出結果都是負15:
console.log(-15); console.log(-017); console.log(-0o17); console.log(-0O17); console.log(-0xf); |
小數的字面量也很簡單,就是數學上的點。計算機世界中,小數稱為“浮點數”。
允許使用e來表示乘以10的幾次冪:
console.log(-3.1415926); //-3.1415926 console.log(.315); //.315 如果整數位數是0,可以不寫 console.log(5e5); //500000 console.log(5.6e5); //560000 console.log(1e-4); //0.0001 console.log(.1e-3); //0.0001 |
只有十進制有小數的字面量,八進制、十六進制沒有小數的字面量。
最后學習兩個特殊的字面量:
Infinity 無窮大
試圖輸出一個非常大的數字:
console.log(3e45645645645645); |
控制台顯示 表示無窮大
至於多大的數字能生成無窮大,不同瀏覽器不一樣,不要管。
可以是負的無窮大:
console.log(-3e45645645645645); |
我們可以直接在控制台輸出無窮大,注意大小寫:
console.log(Infinity); |
NaN 英語全名叫做not a number,不是一個數。比較哲學的是,這個“不是一個數”是一個數字字面量。
console.log(0/0); |
總結一下,數字字面量有整數字面量(十進制、16進制、八進制),浮點數字面量(要記住e),Infinity,NaN
字符串
字符串是一個術語,就是人類說的語句、詞。
字符串的字面量,必須用雙引號、單引號包裹起來。字符串被限定在同種引號之間;也即,必須是成對單引號或成對雙引號。
console.log("今天天氣很好"); |
// 必須是同種引號,這是錯誤的: console.log('哈哈"); |
如果一個數字,用引號引起來,那么就是字符串了:
console.log(“3”); |
轉義字符,
\n 回車換行
\t tab縮進
alert("你好\n啊\n我很愛你\n啊"); |
引號的轉譯:
正常情況下,引號內部可以有不同種的引號,比如雙引號里面可以有單引號:
console.log("老師說你像'考拉'一樣漂亮"); |
console.log('老師說你像"考拉"一樣漂亮'); |
可以用\” 來表達引號:
console.log("老師說你像\"考拉\"一樣漂亮"); |
反斜杠自己也用反斜杠來轉義:
console.log("c:\\a\\b.jpg"); |