《JavaScript高級程序設計》讀書筆記--1-變量和數據類型

1. 變量
鬆散類型,所謂鬆散類型是指變量可以保存任何類型的數據。
一般可以定義爲

var message;
var age=11;
var name,
    sex="男";

使用var操作符定義的變量將成爲定義該變量作用域中的局部變量

function test(){
    var message="hello";//局部變量
}
test();
alert(message);//錯誤
function test(){
    message="hello";//全局變量
}
test();
alert(message);//正確

解析:
錯誤代碼因爲message被var定義爲了函數test()中的局部變量,在函數調用完後被立即銷燬,所以alert(message)就會報錯。
正確代碼中message省略了var,所以message是一個全局變量,不隨着函數test的調用完而銷燬,所以alert(message)可以正確顯示。
2. 數據類型
六種數據類型:
Undefined、Null、Boolean、Number、String爲簡單數據類型;
Object爲複雜數據類型。
typeof操作符返回變量的數據類型,例子:

var message = "hello";
alert(typeof message);//"string"
alert(typeof(message));//"string"
alert(typeof 95);//"number"
//注意
//typeof對未定義的變量返回undefined
alert(typeof(age));//age未定義,返回"undefined"
alert(age);//直接產生錯誤

各類型的含義如下:
undefined–這個值未定義;
boolean–這個值是布爾值;
string–這個值是字符串;
number–這個值是數值;
object–這個值是對象或者null;
function–這個值是函數。

注意:

var message;
alert(message == undefined);//true

var message = undefined;
alert(message == undefined);//true

alert(null == undefined);//ture

無論在什麼情況下都不要把一個變量的值顯式的設置爲undefined,意在保存對象的變量還沒有真正保存對象,就應該明確的讓該變量保存爲null。

number中的各種進製表示

var num1 = 070;//八進制56
var num2 = 0xA;//十六進制10
var num3 = 3.125e7;//等於31250000

注意:
浮點數值在進行算術計算時精度遠遠不如整數,例如0.1+0.2的結果不是0.3,而是0.30000000000000004(浮點數值的最高精度是17位小數),因此永遠不要測試某個特定的浮點數值。
NaN,即非數值,是一個特殊的數值,用於表示一個本來要返回數值的操作未返回數值的情況。例如,任何數值除以0都回返回NaN,這樣就不會影響其他代碼執行。

alert(NaN == NaN);//false

alert(isNaN(NaN));//true
alert(isNaN(10));//false(10是一個數值)
alert(isNaN("10"));//false(可以被轉換成數值10)
alert(isNaN("blue"));//true(不可能轉換成數值)
alert(isNaN(true));//false(可以轉換成數值1)

任何涉及NaN的操作都返回NaN,NaN與任何值都不相等,包括本身。

進制間的轉換parseInt()函數

var num1 = parseInt("10",2);//2,(按二進制解析)
var num2 = parseInt("10",8);//8,(按八進制解析)
var num3 = parseInt("10",10);//10(按十進制解析)
var num4 = parseInt("10",16);//16(按十六進制解析)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章