jquery 常用方法&ajax

Q&A:

1. Jquery 中, $(document).ready()是什么意思?和window.onload 的區(qū)別? 還有其他什么寫法或者替代方法讥珍?

  • $(document).ready(handler)是當(dāng)DOM結(jié)構(gòu)描繪完成即執(zhí)行相應(yīng)的函數(shù);
  • $(window).on("load", handler)是當(dāng)頁(yè)面全部加載完畢執(zhí)行相應(yīng)的函數(shù)(頁(yè)面內(nèi)容饭耳、圖像串述、資源等全部加載)执解。
  • 區(qū)別
    • 執(zhí)行時(shí)間:
      window.onload必須等到頁(yè)面內(nèi)包括圖片的所有元素加載完畢后才能執(zhí)行寞肖。$(document).ready()是DOM結(jié)構(gòu)繪制完畢后就執(zhí)行纲酗,不必等到加載完畢。
    • 編寫個(gè)數(shù)不同:
      window.onload不能同時(shí)編寫多個(gè)新蟆,如果有多個(gè)window.onload方法觅赊,只會(huì)執(zhí)行最后一個(gè),$(document).ready()可以同時(shí)編寫多個(gè)琼稻,并且都可以得到執(zhí)行吮螺。
    • 簡(jiǎn)化寫法:
      window.onload沒(méi)有簡(jiǎn)化寫法,而$(document).ready()有簡(jiǎn)化寫法為:$(handler)帕翻。
  • 依賴性:
    如果要執(zhí)行的事件依賴于頁(yè)面資源(如需要圖片尺寸等)鸠补,那么就使用window.onload,如果不依賴嘀掸,那使用兩種均可紫岩,并且習(xí)慣偏向使用$(document).ready()。

2. $node.html()和$node.text()的區(qū)別?

  • $node.html()是獲取元素html內(nèi)容睬塌;
  • $node.text()是獲取元素的文本內(nèi)容泉蝌;
  • demo:
  <body>
    <p class="p1">這是一段<b>加粗</b>內(nèi)容</p>
    <div class="res1"></div>
    <div class="res2"></div>
    <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script>
      $('.res1').text($('.p1').html());
      $('.res2').text($('.p1').text());
    </script>
  </body>
html&text

3. $.extend 的作用和用法?

  • $.extend作用:一個(gè)對(duì)象,如果附加的對(duì)象被傳遞給這個(gè)方法將那么它將接收新的屬性揩晴,如果它是唯一的參數(shù)將擴(kuò)展jQuery的命名空間勋陪。
  • $.extend用法:
    • $.extend(dest, obj1, objn):
  <body>
    <div class="log"></div>
    <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script>
      var obj1 = {
        name: 'zhao',
        age: '24'
      };
      var obj2 = {
        age: '16',
        sex: 'male'
      };
      $.extend(obj1, obj2);
      $('.log').append(JSON.stringify(obj1));
    </script>
  </body>
$.extend擴(kuò)展方法原型
  • $.extend({}, obj1, objn):
  <body>
    <div class="log"></div>
    <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script>
      var obj1 = {
        name: 'zhao',
        age: '24'
      };
      var obj2 = {
        age: '16',
        sex: 'male'
      };
      var res = $.extend({}, obj1, obj2);
      $('.log').append('<div>' + JSON.stringify(obj1) + '</div>');
      $('.log').append('<div>' + JSON.stringify(obj2) + '</div>');
      $('.log').append('<div>' + JSON.stringify(res) + '</div>');
    </script>
  </body>
不改變?cè)紝?duì)象
  • 深層拷貝(遞歸),$.extend(deep, dest, obj1, obj2):
  <body>
    <div class="log"></div>
    <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script>
      var obj1 = {
        name: {
          firstName: 'liqun',
          lastName: 'zhao'
        },
        age: '24'
      };
      var obj2 = {
        name: {
          lastName: 'kevin',
          fullName: 'kevinzhao'
        },
        age: '16',
        sex: 'male'
      };
      var res = $.extend(true, {}, obj1, obj2);
      $('.log').append('<div>' + JSON.stringify(obj1) + '</div>');
      $('.log').append('<div>' + JSON.stringify(obj2) + '</div>');
      $('.log').append('<div>' + JSON.stringify(res) + '</div>');
    </script>
  </body>
深層拷貝
  • 只傳遞一個(gè)參數(shù)硫兰,即將參數(shù)合并到全局變量或?qū)嵗腥ィ?/li>
    <script>
      $.extend({
        hello: function() {
          alert('hello');
        }
      });
    </script>

4. JQuery 的鏈?zhǔn)秸{(diào)用是什么诅愚?

  • 概念:jQuery中鏈?zhǔn)秸{(diào)用就是在對(duì)象上一次性調(diào)動(dòng)多個(gè)方法;
$(‘#id’).show().hide().show().hide().show().hide();
  • 優(yōu)點(diǎn):節(jié)約代碼劫映,易于維護(hù)呻粹;返回的都是同一對(duì)象,提高代碼效率苏研。

5. JQuery ajax 中緩存怎樣控制?

  • 緩存:當(dāng)向服務(wù)器請(qǐng)求數(shù)據(jù)時(shí)等浊,get類型會(huì)產(chǎn)生緩存,而post不會(huì)產(chǎn)生緩存摹蘑;如果下次請(qǐng)求相同的話筹燕,瀏覽器會(huì)從本地緩存讀取數(shù)據(jù)而不會(huì)從服務(wù)器獲取數(shù)據(jù),這將可能導(dǎo)致數(shù)據(jù)不同步造成差異衅鹿。
  • 解決方法
    • 更改ajax默認(rèn)參數(shù):
      cache (默認(rèn): true, dataType為"script"和"jsonp"時(shí)默認(rèn)為false)撒踪,如果設(shè)置為 false ,瀏覽器將不緩存此頁(yè)面大渤。
      注意: 設(shè)置cache為 false將在 HEAD和GET請(qǐng)求中正常工作制妄。它的工作原理是在GET請(qǐng)求參數(shù)中附加"_={timestamp}"(譯者注:時(shí)間戳)。該參數(shù)不是其他請(qǐng)求所必須的泵三,除了在IE8中耕捞,當(dāng)一個(gè)POST請(qǐng)求一個(gè)已經(jīng)用GET請(qǐng)求過(guò)的URL衔掸。
    • 使用時(shí)間戳:
      在每次請(qǐng)求的后面手動(dòng)添加時(shí)間戳,這樣由于請(qǐng)求不同俺抽,也就不會(huì)讀取本地緩存敞映。

6. jquery 中 data 函數(shù)的作用

  • 概念:data方法允許在DOM元素上綁定任意類型的數(shù)據(jù),避免了循環(huán)引用的內(nèi)存泄漏風(fēng)險(xiǎn)磷斧。
  • 語(yǔ)法:selector.data(key, value);
  • demo:
  <body>
    <div class="log"></div>
    <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script>
      $('body').data('zhao', {name: 'zhao', age: 24});
      $('.log').append($('body').data('zhao').name);
      $('.log').append('<br>' + $('body').data('zhao').age);
    </script>
  </body>
demo

本文歸饑人谷和本人所有振愿,如需轉(zhuǎn)載請(qǐng)注明出處,謝謝

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末弛饭,一起剝皮案震驚了整個(gè)濱河市冕末,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌侣颂,老刑警劉巖栓霜,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異横蜒,居然都是意外死亡胳蛮,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門丛晌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)仅炊,“玉大人,你說(shuō)我怎么就攤上這事澎蛛「ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵谋逻,是天一觀的道長(zhǎng)呆馁。 經(jīng)常有香客問(wèn)我,道長(zhǎng)毁兆,這世上最難降的妖魔是什么浙滤? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮气堕,結(jié)果婚禮上纺腊,老公的妹妹穿的比我還像新娘。我一直安慰自己茎芭,他們只是感情好揖膜,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著梅桩,像睡著了一般壹粟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上宿百,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天趁仙,我揣著相機(jī)與錄音洪添,去河邊找鬼。 笑死幸撕,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的外臂。 我是一名探鬼主播坐儿,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼宋光!你這毒婦竟也來(lái)了貌矿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤罪佳,失蹤者是張志新(化名)和其女友劉穎逛漫,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體赘艳,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡酌毡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蕾管。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片枷踏。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖掰曾,靈堂內(nèi)的尸體忽然破棺而出旭蠕,到底是詐尸還是另有隱情,我是刑警寧澤旷坦,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布掏熬,位于F島的核電站,受9級(jí)特大地震影響秒梅,放射性物質(zhì)發(fā)生泄漏旗芬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一捆蜀、第九天 我趴在偏房一處隱蔽的房頂上張望岗屏。 院中可真熱鬧,春花似錦漱办、人聲如沸这刷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)暇屋。三九已至,卻和暖如春洞辣,著一層夾襖步出監(jiān)牢的瞬間咐刨,已是汗流浹背昙衅。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留定鸟,地道東北人而涉。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像联予,于是被迫代替她去往敵國(guó)和親啼县。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容