欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Javascript筆記一 js以及json基礎(chǔ)使用說(shuō)明

 更新時(shí)間:2010年05月22日 22:06:41   作者:  
JavaScript中的數(shù)據(jù)很簡(jiǎn)潔的。簡(jiǎn)單數(shù)據(jù)只有 undefined, null, boolean, number和string這五種,而復(fù)雜數(shù)據(jù)只有一種,即object。
JavaScript中的代碼只體現(xiàn)為一種形式,就是function。

注意:以上單詞都是小寫的,不要和Number, String, Object, Function等JavaScript內(nèi)置函數(shù)混淆,JavaScript語(yǔ)言是區(qū)分大小寫。

typeof(null)返回object,但null并非object。

JavaScript的代碼就只有function一種形式,function就是函數(shù)的類型。函數(shù)的寫法有“定義式”和“變量式”。

定義式的函數(shù)語(yǔ)句會(huì)優(yōu)先執(zhí)行。函數(shù)定義執(zhí)行完之后,才會(huì)按順序執(zhí)行其他語(yǔ)句代碼,JavaScript是一段段地執(zhí)行的。

我們來(lái)看看下面的代碼:
復(fù)制代碼 代碼如下:

var myfunc = function ()
{
alert("hello");
};
myfunc(); //第一次調(diào)用myfunc,輸出hello
myfunc = function ()
{
alert("yeah");
};
myfunc(); //第二次調(diào)用myfunc,將輸出yeah


這個(gè)程序運(yùn)行的結(jié)果告訴我們:在第一次調(diào)用函數(shù)之后,函數(shù)變量又被賦予了新的函數(shù)代碼體,使得第二次調(diào)用該函數(shù)時(shí),出現(xiàn)了不同的輸出。

好了,我們又來(lái)把上面的代碼改成定義式的函數(shù)形式:

復(fù)制代碼 代碼如下:

function myfunc ()
{
alert("hello");
};
myfunc(); //這里調(diào)用myfunc,輸出yeah而不是hello
function myfunc ()
{
alert("yeah");
};
myfunc(); //這里調(diào)用myfunc,當(dāng)然輸出yeah


按理說(shuō),兩個(gè)簽名完全相同的函數(shù),在其他編程語(yǔ)言中應(yīng)該是非法的。但在JavaScript中,這沒(méi)錯(cuò)。JavaScript執(zhí)行引擎并非一行一行地分析和執(zhí)行程序,而是一段一段地分析執(zhí)行的。在第一次調(diào)用myfunc之前,第一個(gè)函數(shù)語(yǔ)句定義的代碼邏輯,已被第二個(gè)函數(shù)定義語(yǔ)句覆蓋了。所以,兩次都調(diào)用都是執(zhí)行最后一個(gè)函數(shù)邏輯了。

創(chuàng)建對(duì)象

復(fù)制代碼 代碼如下:

<script type="text/javascript">
function test() {
var bo = {}; //建立一個(gè)對(duì)象
bo.姓名 = "張三"; //對(duì)象的一個(gè)屬性
bo.年齡 = 18;
bo.showInfo = function() { alert(bo.姓名 + " " + bo.年齡); }; //對(duì)象的一個(gè)方法
alert(bo["姓名"]); //可以將對(duì)象當(dāng)數(shù)組以屬性名作為下標(biāo)來(lái)訪問(wèn)屬性
bo["showInfo"](); //可以將對(duì)象當(dāng)數(shù)組以方法名作為下標(biāo)來(lái)調(diào)用方法
//遍歷對(duì)象里所有的屬性和方法,并輸出其類型
for (var s in bo) {
alert(s + " 是 " + typeof (bo[s]));
}
}
</script>


JSON為創(chuàng)建對(duì)象提供了非常簡(jiǎn)單的方法,JavaScript Object Notation(縮寫JSON),翻譯為中文就是“JavaScript對(duì)象表示法”。

創(chuàng)建一個(gè)沒(méi)有任何屬性的對(duì)象:
var o = {};

創(chuàng)建一個(gè)對(duì)象并設(shè)置屬性及初始值:
var person = {name: "Angel", age: 18, married: false};

創(chuàng)建一個(gè)對(duì)象并設(shè)置屬性和方法:
var speaker = {text: "Hello World", say: function(){alert(this.text)}};

創(chuàng)建一個(gè)更復(fù)雜的對(duì)象,嵌套其他對(duì)象和對(duì)象數(shù)組等:
復(fù)制代碼 代碼如下:

var company =
{
name: "Microsoft",
product: "softwares",
chairman: {name: "Bill Gates", age: 53, Married: true},
employees: [{name: "Angel", age: 26, Married: false}, {name: "Hanson", age: 32, Marred: true}],
readme: function() {document.write(this.name + " product " + this.product);}
};


JSON的形式就是用大括“{}”號(hào)包括起來(lái)的項(xiàng)目列表,每一個(gè)項(xiàng)目間并用逗號(hào)“,”分隔,而項(xiàng)目就是用冒號(hào)“:”分隔的屬性名和屬性值。這是典型的字典表示形式,也再次表明了 JavaScript里的對(duì)象就是字典結(jié)構(gòu)。不管多么復(fù)雜的對(duì)象,都可以被一句JSON代碼來(lái)創(chuàng)建并賦值。

其實(shí),JSON就是JavaScript對(duì)象最好的序列化形式,它比XML更簡(jiǎn)潔也更省空間。對(duì)象可以作為一個(gè)JSON形式的字符串,在網(wǎng)絡(luò)間自由傳遞和交換信息。而當(dāng)需要將這個(gè)JSON字符串變成一個(gè)JavaScript對(duì)象時(shí),只需要使用eval函數(shù)這個(gè)強(qiáng)大的數(shù)碼轉(zhuǎn)換引擎,就立即能得到一個(gè)JavaScript內(nèi)存對(duì)象。正是由于JSON的這種簡(jiǎn)單樸素的天生麗質(zhì),才使得她在AJAX舞臺(tái)上成為璀璨奪目的明星。

相關(guān)文章

最新評(píng)論