一、{ } 大括號,表示定義一個對象,大部分情況下要有成對的屬性和值,或是函數。
如:var LangShen = {"Name":"Langshen","AGE":"28"};
上面聲明了一個名為“LangShen”的對象,多個屬性或函數用,(逗號)隔開,因為是對象的屬性,
所以訪問時,應該用.(點)來層層訪問:LangShen.Name、LangShen.AGE,當然我們也可以用數組的方式來訪問,如:LangShen["Name"]、LangShen["AGE"],結果是一樣的。
該寫法,在JSON數據結構中經常用,除此之外,我們平時寫函數組的時候,也經常用到,如:
var LangShen = {
Name = function(){
return "LangShen";
},
Age = function(){
return "28";
}
}
調用方式差不多,因為是函數組,所以要加上(),如:alert( LangShen.Name() );
二、[ ]中括號,表示一個數組,也可以理解為一個數組對象。
如:var LangShen = [ "Name","LangShen","AGE","28" ];
很明顯,每個值或函數,都是獨立的,多個值之間只用,(逗號)隔開,因為是數組對象,所以它等於:
var LangShen = Array( "Name","LangShen","AGE","28" );
訪問時,也是和數組一樣,alert( LangShen[0] );
三、{ } 和[ ] 一起使用,我們前面說到,{ } 是一個對象,[ ] 是一個數組,我們可以組成一個對象數組,如:
var LangShen = { "Name":"Langshen",
"MyWife":[ "LuLu","26" ],
"MySon":[{"Name":"Son1"},{"Name":"Son2"},{"Name":"Son3"}]
}
從上面的結構來看,是一個對象里面的第一項是個屬性,第二項是一個數組,第三個是包含有多個對象的數組。調用起來,也是一層一層訪問,對象的屬性用.(點)疊加,數組用 [下標] 來訪問
1. 轉換函數:
js提供了parseInt()和parseFloat()兩個轉換函數。前者把值轉換成整數,后者把值轉換成浮點數。只有對String類型調用這些方法,這兩個函數才能正確運行;對其他類型返回的都是NaN(Not a Number)。
在判斷字符串是否是數字值前,parseInt()和parseFloat()都會仔細分析該字符串。parseInt()方法首先查看位置0處的 字符,判斷它是否是個有效數字;如果不是,該方法將返回NaN,不再繼續執行其他操作。但如果該字符是有效數字,該方法將查看位置1處的字符,進行同樣的 測試。這一過程將持續到發現非有效數字的字符為止,此時parseInt()將把該字符之前的字符串轉換成數字。
2. 強制類型轉換
還可使用強制類型轉換(type casting)處理轉換值的類型。使用強制類型轉換可以訪問特定的值,即使它是另一種類型的。
ECMAScript中可用的3種強制類型轉換如下:
Boolean(value)——把給定的值轉換成Boolean型;
Number(value)——把給定的值轉換成數字(可以是整數或浮點數);
String(value)——把給定的值轉換成字符串。
用這三個函數之一轉換值,將創建一個新值,存放由原始值直接轉換成的值。這會造成意想不到的后果。
當要轉換的值是至少有一個字符的字符串、非0數字或對象(下一節將討論這一點)時,Boolean()函數將返回true。如果該值是空字符串、數字0、undefined或null,它將返回false。