javascript對象
javascript中的對象,可以理解成是一個鍵值對的集合,鍵是調用每個值的名稱,值可以是基本變量,還可以是函數和對象。
創建javascript對象有兩種方法,一種是通過頂級Object類來實例化一個對象,然后在對象上面添加屬性和方法:
var person = new Object();
// 添加屬性:
person.name = 'tom';
person.age = '25';
// 添加方法:
person.sayName = function(){
alert(this.name);
}
// 調用屬性和方法:
alert(person.age);
person.sayName();
還可以通過對象直接量的方式創建對象:
var person2 = { name:'Rose', age: 18, sayName:function(){ alert('My name is' + this.name); } } // 調用屬性和方法: alert(person2.age); person2.sayName();
json
json
json是 JavaScript Object Notation 的首字母縮寫,單詞的意思是javascript對象表示法,這里說的json指的是類似於javascript對象的一種數據格式對象,目前這種數據格式比較流行,逐漸替換掉了傳統的xml數據格式。
json數據對象類似於JavaScript中的對象,但是它的鍵對應的值里面是沒有函數方法的,值可以是普通變量,不支持undefined,值還可以是數組或者json對象。
與JavaScript對象寫法不同的是,json對象的屬性名稱和字符串值需要用雙引號引起來,用單引號或者不用引號會導致讀取數據錯誤。
json格式的數據:
{
"name":"tom",
"age":18
}
json的另外一個數據格式是數組,和javascript中的數組字面量相同。
["tom",18,"programmer"]
還可以是更復雜的數據機構:
{
"name":"jack",
"age":29,
"hobby":["reading","travel","photography"]
"school":{
"name":"Merrimack College",
"location":'North Andover, MA'
}
}
ajax
ajax一個前后台配合的技術,它可以讓javascript發送http請求,與后台通信,獲取數據和信息。ajax技術的原理是實例化xmlhttp對象,使用此對象與后台通信。jquery將它封裝成了一個函數$.ajax(),我們可以直接用這個函數來執行ajax請求。
ajax需要在服務器環境下運行。
$.ajax使用方法
常用參數:
1、url 請求地址
2、type 請求方式,默認是'GET',常用的還有'POST'
3、dataType 設置返回的數據格式,常用的是'json'格式,也可以設置為'html'
4、data 設置發送給服務器的數據
5、success 設置請求成功后的回調函數
6、error 設置請求失敗后的回調函數
7、async 設置是否異步,默認值是'true',表示異步
以前的寫法:
$.ajax({
url: '/change_data',
type: 'GET',
dataType: 'json',
data:{'code':300268}
success:function(dat){
alert(dat.name);
},
error:function(){
alert('服務器超時,請重試!');
}
});
新的寫法(推薦):
$.ajax({
url: '/change_data',
type: 'GET',
dataType: 'json',
data:{'code':300268}
})
.done(function(dat) {
alert(dat.name);
})
.fail(function() {
alert('服務器超時,請重試!');
});
$.ajax的簡寫方式
$.ajax按照請求方式可以簡寫成$.get或者$.post方式
$.get("/change_data", {'code':300268},
function(dat){
alert(dat.name);
});
$.post("/change_data", {'code':300268},
function(dat){
alert(dat.name);
});
課堂練習
個人選股系統首頁ajax實現
與ajax相關的概念:
同步和異步
現實生活中,同步指的是同時做幾件事情,異步指的是做完一件事后再做另外一件事,程序中的同步和異步是把現實生活中的概念對調,也就是程序中的異步指的是現實生活中的同步,程序中的同步指的是現實生活中的異步。
局部刷新和無刷新
ajax可以實現局部刷新,也叫做無刷新,無刷新指的是整個頁面不刷新,只是局部刷新,ajax可以自己發送http請求,不用通過瀏覽器的地址欄,所以頁面整體不會刷新,ajax獲取到后台數據,更新頁面顯示數據的部分,就做到了頁面局部刷新。
數據接口
數據接口是后台程序提供的,它是一個url地址,訪問這個地址,會對數據進行增、刪、改、查的操作,最終會返回json格式的數據或者操作信息,格式也可以是text、xml等。