DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> Javascript筆記一 js以及json基礎使用說明
Javascript筆記一 js以及json基礎使用說明
編輯:關於JavaScript     
JavaScript中的代碼只體現為一種形式,就是function。

注意:以上單詞都是小寫的,不要和Number, String, Object, Function等JavaScript內置函數混淆,JavaScript語言是區分大小寫。

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

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

定義式的函數語句會優先執行。函數定義執行完之後,才會按順序執行其他語句代碼,JavaScript是一段段地執行的。

我們來看看下面的代碼:
復制代碼 代碼如下:
var myfunc = function ()
{
alert("hello");
};
myfunc(); //第一次調用myfunc,輸出hello
myfunc = function ()
{
alert("yeah");
};
myfunc(); //第二次調用myfunc,將輸出yeah


這個程序運行的結果告訴我們:在第一次調用函數之後,函數變量又被賦予了新的函數代碼體,使得第二次調用該函數時,出現了不同的輸出。

好了,我們又來把上面的代碼改成定義式的函數形式:

復制代碼 代碼如下:
function myfunc ()
{
alert("hello");
};
myfunc(); //這裡調用myfunc,輸出yeah而不是hello
function myfunc ()
{
alert("yeah");
};
myfunc(); //這裡調用myfunc,當然輸出yeah


按理說,兩個簽名完全相同的函數,在其他編程語言中應該是非法的。但在JavaScript中,這沒錯。JavaScript執行引擎並非一行一行地分析和執行程序,而是一段一段地分析執行的。在第一次調用myfunc之前,第一個函數語句定義的代碼邏輯,已被第二個函數定義語句覆蓋了。所以,兩次都調用都是執行最後一個函數邏輯了。

創建對象

復制代碼 代碼如下:
<script type="text/javascript">
function test() {
var bo = {}; //建立一個對象
bo.姓名 = "張三"; //對象的一個屬性
bo.年齡 = 18;
bo.showInfo = function() { alert(bo.姓名 + " " + bo.年齡); }; //對象的一個方法
alert(bo["姓名"]); //可以將對象當數組以屬性名作為下標來訪問屬性
bo["showInfo"](); //可以將對象當數組以方法名作為下標來調用方法
//遍歷對象裡所有的屬性和方法,並輸出其類型
for (var s in bo) {
alert(s + " 是 " + typeof (bo[s]));
}
}
</script>


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

創建一個沒有任何屬性的對象:
var o = {};

創建一個對象並設置屬性及初始值:
var person = {name: "Angel", age: 18, married: false};

創建一個對象並設置屬性和方法:
var speaker = {text: "Hello World", say: function(){alert(this.text)}};

創建一個更復雜的對象,嵌套其他對象和對象數組等:
復制代碼 代碼如下:
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的形式就是用大括“{}”號包括起來的項目列表,每一個項目間並用逗號“,”分隔,而項目就是用冒號“:”分隔的屬性名和屬性值。這是典型的字典表示形式,也再次表明了 JavaScript裡的對象就是字典結構。不管多麼復雜的對象,都可以被一句JSON代碼來創建並賦值。

其實,JSON就是JavaScript對象最好的序列化形式,它比XML更簡潔也更省空間。對象可以作為一個JSON形式的字符串,在網絡間自由傳遞和交換信息。而當需要將這個JSON字符串變成一個JavaScript對象時,只需要使用eval函數這個強大的數碼轉換引擎,就立即能得到一個JavaScript內存對象。正是由於JSON的這種簡單樸素的天生麗質,才使得她在AJAX舞台上成為璀璨奪目的明星。
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved