1_變量以及數據類型
1.變量
聲明方式:var 變量名 = 值;
強調:僅聲明但為賦值的變量,默認值為undefined.
特殊情況:
1.為一個從未聲明過的變量賦值,不會出錯,會自動創建同名變量,再保存數據
2.從一個從未聲明過的變量中取值,會出錯:ReferenceError 未找到或未定義
聲明提前:在程序開始執行前,會將所有的var聲明的變量提前到開始位置,集中創建,賦值留在原地
2.數據類型
js中的數據類型:
1.原始類型:值保存在變量本地
Number / String / Boolean / undefined / null
2.引用類型:值不保存在變量本地
Date / Array / RegExp / Function / Global / Math
Number類型
1.數字所占空間與數字大小無關,每個數字占8個字節
2.舍入誤差:n.toFixed(x) n按照x位小數四舍五入
String類型
1.字符串一旦創建,不能改變,要想改變,只能創建新字符串,替換舊字符串
3.數據類型轉換
說明:js是弱類型編程語言:
1.聲明變量時,不需要規定變量的數據類型
2.賦值時,動態決定變量的數據類型,一個變量可先後保存不同的數據類型。
3.運算時,js會根據實際需求動態轉換數據類型
1.隱式轉換:不需要程序員參與的js自動完成的類型轉換(僅討論兩種)
算術計算中,所有類型都轉換成Number類型再計算(+運算中,一方為String類型,就變成了字符串拼接)
2.顯式轉換:程序員通過主動調用專門函數,執行轉換
1.任意類型 to String
var str=x.toStirng / var str=String(x)[隱式轉換的本質]
2.任意類型 to Number
var n=Number(x)
var n=parseInt(str)/parseFloat(str) [String->Number]
3.任意類型 to Boolean
var boolean=Boolean(x) ["" / NaN / undefined / null / 0為false]
1_變量以及數據類型