Javascript筆記一 js以及json基礎使用說明

來源:互聯網
上載者:User

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舞台上成為璀璨奪目的明星。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.