1024国产,91精品国产综合久久福利,中文字幕成人免费视频,日本人的色道免费网站,曰本一级毛片免费,www.日日爱,国产黑丝视频

當(dāng)前位置:高考升學(xué)網(wǎng) > 招聘筆試題 > 正文

Web前端開(kāi)發(fā)筆試題和面試題答案(三)

更新:2023-09-16 11:42:56 高考升學(xué)網(wǎng)

  SPANDIV

  SPAN

  P

  21,請(qǐng)編寫(xiě)一個(gè)JavaScript函數(shù) parseQueryString,它的用途是把URL參數(shù)解析為一個(gè)對(duì)象,如:

  var url = “http://witmax.cn/index.php?key0=0&key1=1&key2=2″;

  function parseQueryString(url){

  var params = {};

  var arr = url.split("?");

  if (arr.length <= 1)

  return params;

  arr = arr.split("&");

  for(var i=0, l=arr.length; i

  var a = arr[i].split("=");

  params[a[0]] = a;

  }

  return params;

  }

  var url = "http://witmax.cn/index.php?key0=0&key1=1&key2=2";

  var ps = parseQueryString(url);

  alert(ps["key1"]);

  22,ajax是什么? ajax的交互模型? 同步和異步的區(qū)別? 如何解決跨域問(wèn)題?

  Ajax是多種技術(shù)組合起來(lái)的一種瀏覽器和服務(wù)器交互技術(shù),基本思想是允許一個(gè)互聯(lián)網(wǎng)瀏覽器向一個(gè)遠(yuǎn)程頁(yè)面/服務(wù)做異步的http調(diào)用,并且用收到的數(shù)據(jù)來(lái)更新一個(gè)當(dāng)前web頁(yè)面而不必刷新整個(gè)頁(yè)面。該技術(shù)能夠改進(jìn)客戶(hù)端的體驗(yàn)。包含的技術(shù):

  XHTML:對(duì)應(yīng)W3C的XHTML規(guī)范,目前是XHTML1.0。

  CSS:對(duì)應(yīng)W3C的CSS規(guī)范,目前是CSS2.0

  DOM:這里的DOM主要是指HTML DOM,XML DOM包括在下面的XML中

  JavaScript:對(duì)應(yīng)于ECMA的ECMAScript規(guī)范

  XML:對(duì)應(yīng)W3C的XML DOM、XSLT、XPath等等規(guī)范

  XMLHttpRequest:對(duì)應(yīng)WhatWG的Web Applications1.0規(guī)范(http://whatwg.org/specs/web-apps/current-work/)

  AJAX交互模型

  同步:腳本會(huì)停留并等待服務(wù)器發(fā)送回復(fù)然后再繼續(xù)

  異步:腳本允許頁(yè)面繼續(xù)其進(jìn)程并處理可能的回復(fù)

  跨域問(wèn)題簡(jiǎn)單的理解就是因?yàn)镴S同源策略的限制,a.com域名下的JS無(wú)法操作b.com或c.a.com下的對(duì)象,具體場(chǎng)景如下:

  PS:(1)如果是端口或者協(xié)議造成的跨域問(wèn)題前端是無(wú)能為力的

  (2) 在跨域問(wèn)題上,域僅僅通過(guò)URL的首部來(lái)識(shí)別而不會(huì)嘗試判斷相同的IP地址對(duì)應(yīng)的域或者兩個(gè)域是否對(duì)應(yīng)一個(gè)IP

  前端對(duì)于跨域的解決辦法:

  (1) document.domain+iframe

  (2) 動(dòng)態(tài)創(chuàng)建script標(biāo)簽

  23,什么是閉包?下面這個(gè)ul,如何點(diǎn)擊每一列的時(shí)候alert其index?

  這是第一條

  這是第二條

  這是第三條

  內(nèi)部函數(shù)被定義它的函數(shù)的外部區(qū)域調(diào)用的時(shí)候就產(chǎn)生了閉包。

  (function A() {

  var index = 0;

  var ul = document.getElementById("test");

  var obj = {};

  for (var i = 0, l = ul.childNodes.length; i < l; i++) {

  if (ul.childNodes[i].nodeName.toLowerCase() == "li") {

  var li = ul.childNodes[i];

  li.onclick = function() {

  index++;

  alert(index);

  }

  }

  }

  })();

  24,請(qǐng)給出異步加載js方案,不少于兩種

  默認(rèn)情況javascript是同步加載的,也就是javascript的加載時(shí)阻塞的,后面的元素要等待javascript加載完畢后才能進(jìn)行再加載,對(duì)于一些意義不是很大的javascript,如果放在頁(yè)頭會(huì)導(dǎo)致加載很慢的話(huà),是會(huì)嚴(yán)重影響用戶(hù)體驗(yàn)的。

  異步加載方式:

  (1) defer,只支持IE

  (2) async:

  (3) 創(chuàng)建script,插入到DOM中,加載完畢后callBack,見(jiàn)代碼:

  function loadScript(url, callback){

  var script = document.createElement("script")

  script.type = "text/javascript";

  if (script.readyState){ //IE

  script.onreadystatechange = function(){

  if (script.readyState == "loaded" ||

  script.readyState == "complete"){

  script.onreadystatechange = null;

  callback();

  }

  };

  } else { //Others: Firefox, Safari, Chrome, and Opera

  script.onload = function(){

  callback();

  };

  }

  script.src = url;

  document.body.appendChild(script);

  }

最新圖文

2020年河北新聞網(wǎng)兩學(xué)一做

時(shí)間:2023-09-18 07:0:24

2020年河北新聞網(wǎng)兩學(xué)一做

時(shí)間:2023-09-15 11:0:59

兩學(xué)一做學(xué)習(xí)教育知

時(shí)間:2023-09-21 06:0:30