一亥至、 變量
使用 var 定義的變量悼沈,會(huì)成為該變量作用域中的局部變量。
即姐扮,如果在函數(shù)中使用 var 定義了一個(gè)變量絮供,該變量會(huì)在函數(shù)退出后被銷毀。
function test() {
var message = "hello"; // 局部變量
}
test()
alert(message); // message is not defined
調(diào)用函數(shù)茶敏,就會(huì)創(chuàng)建變量并為其賦值壤靶,退出函數(shù)后,變量又會(huì)立即銷毀惊搏。
二萍肆、數(shù)據(jù)類型
- 基本數(shù)據(jù)類型:Undefined、Null胀屿、Boolean、Number包雀、String宿崭。
- 復(fù)雜數(shù)據(jù)類型:Object。
Object 本質(zhì)上是由一組無序的名值對(duì)組成的才写。
小知識(shí)點(diǎn):typeof 檢查數(shù)據(jù)類型葡兑。
特殊:
- typeof null 會(huì)返回 object 。 因?yàn)閚ull會(huì)被認(rèn)為是由一個(gè)空的對(duì)象引用赞草。
- typeof Function 返回 function讹堤。
Undefined:
var message;
alert(message); // undefined;
// var age;
alert(age); // undefined;
兩者都會(huì)返回undefined , 但是厨疙,message變量顯式的聲明了洲守,而 age 變量還未聲明。
Null : 表示一個(gè)空對(duì)象指針。
如果梗醇,定義的變量準(zhǔn)備在將來用于保存對(duì)象知允,那么,最好將該變量初始化為null叙谨,而不是其他值温鸽。
這樣,檢查null值就可以知道相應(yīng)的變量是否已經(jīng)保存了一個(gè)對(duì)象的引用手负。
if(car != null){
// 對(duì)car對(duì)象執(zhí)行某些操作
}
isNaN() 檢測(cè)是否不是數(shù)字涤垫,先進(jìn)行自動(dòng)轉(zhuǎn)換成數(shù)值類型,如果無法轉(zhuǎn)換竟终,則返回true蝠猬。
數(shù)值轉(zhuǎn)換:Number()、parseInt()衡楞、parseFloat()吱雏。后兩個(gè)專門用于字符串轉(zhuǎn)數(shù)值。
Number(true) => 1
Number(false) => 0
Number(null) => 0
Number(undefined) => NaN
Number("") => 0
parseInt("") => NaN
parseInt("1234blue") => 1234
parseInt("070",8) // 56
parseInt("070") // 70
可以設(shè)置第二個(gè)參數(shù)瘾境,即進(jìn)制歧杏。(建議設(shè)置,明確基數(shù))
String:
特點(diǎn):不可變迷守;
即犬绒,字符串一旦創(chuàng)建,值就不可變兑凿。要改變某個(gè)變量保存的字符串凯力,先要銷毀原來的字符串,再用另一個(gè)包含新值的字符串填充該變量礼华。
var lang = "Java";
lang = lang + "Script";
過程:先創(chuàng)建一個(gè)能容納10個(gè)字符的新字符串咐鹤,然后在這個(gè)字符串中填充"Java"和"Script",最后圣絮,銷毀原來的字符串''Java" 和字符串"Script"
轉(zhuǎn)換為字符串
toString()
var age = 10;
var ageString = age.toString();
toString() 可以帶一個(gè)參數(shù)祈惶,用來返回?cái)?shù)值的基數(shù)
var num = 10;
alert(num.toString()); // "10"
alert(num.toString(2)); // "1010"
alert(num.toString(8)); // "12"
alert(num.toString(10)); // "10"
alert(num.toString(16)); // "a"
string()
var num = null;
alert(String(num)); // null
Object:
Object的每個(gè)實(shí)例都具有下列屬性和方法:
- Constructor:保存著用于創(chuàng)建當(dāng)前對(duì)象的函數(shù)。(構(gòu)造函數(shù))
- hasOwnProperty(propertyName):用于檢查給定的屬性在當(dāng)前對(duì)象實(shí)例中(而不是在實(shí)例的原型中)是否存在 扮匠。其中捧请,作為參數(shù)的屬性名(propertyName)必須以字符串形式指定(例如:o.hasOwnProperty("name"))。
- isPrototypeOf(object):用于檢查傳入的對(duì)象是否是另一個(gè)對(duì)象的原型棒搜。
.........(未完疹蛉,還有很多,第5,6章會(huì)詳細(xì)說明)力麸。