溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Json如何擴(kuò)展jQuery

發(fā)布時(shí)間:2021-09-28 10:37:33 來(lái)源:億速云 閱讀:125 作者:小新 欄目:編程語(yǔ)言

這篇文章將為大家詳細(xì)講解有關(guān)Json如何擴(kuò)展jQuery,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

  如果等于則設(shè)為block,如果不等于這設(shè)為none,如果在將效果設(shè)置復(fù)雜一點(diǎn),當(dāng)點(diǎn)擊按鈕時(shí),不是忽然隱藏和顯示子菜單,而是高度平滑的轉(zhuǎn)變,這時(shí)就要通過(guò)setTimeout來(lái)設(shè)置子菜單的height了。

  以前用習(xí)慣了擴(kuò)展Jquery的Json,在進(jìn)行ajax開(kāi)發(fā)時(shí),處理json數(shù)據(jù)非常方便;而在jQuery中,只提供了一個(gè)簡(jiǎn)單的jQuery.getJSON()方法,并未提供jQuery本身對(duì)json數(shù)據(jù)的轉(zhuǎn)換處理,將json字符串轉(zhuǎn)換為javascript數(shù)據(jù)對(duì)象還比較容易利用eval()函數(shù)即可,但要將javascript的數(shù)據(jù)類型轉(zhuǎn)換成json字符串就比較難了;剛開(kāi)始不得同

  時(shí)使用prototype.js和jQuery。

  擴(kuò)展Jquery的Json代碼:

  //擴(kuò)展jQuery對(duì)json字符串的轉(zhuǎn)換
  jQuery.extend({
  /***@see將json字符串轉(zhuǎn)換為對(duì)象*@paramjson字符串*@return返回object,array,string等對(duì)象*/
  evalJSON:function(strJson){
  returneval("("+strJson+")");
  }
  });
  jQuery.extend({
  /***@see將javascript數(shù)據(jù)類型轉(zhuǎn)換為json字符串*@param待轉(zhuǎn)換對(duì)象,支持object,array,string,function,number,boolean,regexp*@return返回json字符串*/
  Json怎樣擴(kuò)展jQuery
  toJSON:function(object){
  vartype=typeofobject;
  if('object'==type){
  if(Array==object.constructor)type='array';
  elseif(RegExp==object.constructor)type='regexp';
  elsetype='object';
  }
  switch(type){
  case'undefined':
  case'unknown':
  return;
  break;
  case'function':
  case'boolean':
  case'regexp':
  returnobject.toString();
  break;
  case'number':
  returnisFinite(object)?object.toString():'null';
  break;
  case'string':
  return'"'+object.replace(/(\|")/g,"\$1").replace(/n|r|t/g,function(){
  vara=arguments[0];
  return(a=='n')?'\n':(a=='r')?'\r':(a=='t')?'\t':""
  })+'"';
  break;
  case'object':
  if(object===null)return'null';
  varresults=[];
  for(varpropertyinobject){
  varvalue=jQuery.toJSON(object[property]);
  if(value!==undefined)results.push(jQuery.toJSON(property)+':'+value);
  }
  return'{'+results.join(',')+'}';
  break;
  case'array':
  varresults=[];
  for(vari=0;i<object.length;i++){

  varvalue=jQuery.toJSON(object[i]);

  if(value!==undefined)results.push(value);

  }

  return'['+results.join(',')+']';

  break;

  }

  }

  });示例:

  varobj={

  name:"sean",

  friend:["fans","bruce","wawa"],

  action:function(){

  alert("gogogog")

  },

  boy:true,

  age:26,

  reg:/b([a-z]+)1b/gi,

  child:{

  name:"none",

  age:-1

  }

  };

  varjson=$.toJSON(obj);

  varobjx=$.evalJSON(json);

關(guān)于“Json如何擴(kuò)展jQuery”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI