1. 程式人生 > >json物件以及jQuery $.extend和$.fn.extend的區別

json物件以及jQuery $.extend和$.fn.extend的區別

1.1json物件的三種格式?

物件格式:

var json1={sid:'s01',age:'18',name:'名字'}
	alert(json1.sid);

你可以這樣理解這種和java物件差不多,屬性對應值,使用的時候物件名點屬性名就可以了

1.2陣列格式

var jsonArray=[1,2,3,4];
	$(json2).each(function(index,items){
		alert(items);
	})

這種就和java裡的陣列差不多,理解就行

1.3混合模式

其實就是把第一種和第二種結合,可以理解為map集合String為鍵Object為值裡面放了物件和集合。

因為json物件幾乎都是由後臺上傳到前臺的,所以有時候判斷有沒有值不方便用alert一個一個的輸出所以谷歌瀏覽器

有一個console.log()用來輸出在瀏覽器的控制檯可以看到

var json02={hooby:[1,2,3,4],sid:"s01"}
		console.log(json02);

2. $.extend和$.fn.extend

$.extend(obj1,obj2,obj3[,...])

將obj2和obj3的值擴充至obj1中相同的鍵值會覆蓋 還是上程式碼吧

var json1={sid:'s01',age:'18',name:'名字'};
	var json2={sid:'s02',age:'19',adress:'地址'};
	$.extend(json1,json2)
	console.log(json1)

結果:

結果

2.1$.extend()也可以給jQuery類加上方法

$.extend({
	hello:function(){
		alert("nihao ")
	}
});
$.hello();

結果:

結果

這個還有一種寫法效果也是一樣的

$.method=function(options){
	alert("這也是一種寫法");
};

2.2$.fn.extend可以理解給jQuery加上例項方法

$.fn.extend({
	hello:function(){
		alert(this.text())
	}
});
$("#sp").hello();


<span id="sp">hello_word</span>

結果:

結果

也可以這麼寫

$.fn.method=function(options){...};