Web前端开发笔试题和面试题答案(3)

更新时间:2018-11-22 15:44作者:王新老师

      SPANDIV

      SPAN

      P

      21,请编写一个JavaScript函数 parseQueryString,它的用途是把URL参数解析为一个对象,如:

      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[1].split("&");

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

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

      params[a[0]] = a[1];

      }

      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的交互模型? 同步和异步的区别? 如何解决跨域问题?

      Ajax是多种技术组合起来的一种浏览器和服务器交互技术,基本思想是允许一个互联网浏览器向一个远程页面/服务做异步的http调用,并且用收到的数据来更新一个当前web页面而不必刷新整个页面。该技术能够改进客户端的体验。包含的技术:

      XHTML:对应W3C的XHTML规范,目前是XHTML1.0。

      CSS:对应W3C的CSS规范,目前是CSS2.0

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

      JavaScript:对应于ECMA的ECMAScript规范

      XML:对应W3C的XML DOM、XSLT、XPath等等规范

      XMLHttpRequest:对应WhatWG的Web Applications1.0规范(http://whatwg.org/specs/web-apps/current-work/)

      AJAX交互模型

      同步:脚本会停留并等待服务器发送回复然后再继续

      异步:脚本允许页面继续其进程并处理可能的回复

      跨域问题简单的理解就是因为JS同源策略的限制,a.com域名下的JS无法操作b.com或c.a.com下的对象,具体场景如下:

      PS:(1)如果是端口或者协议造成的跨域问题前端是无能为力的

      (2) 在跨域问题上,域仅仅通过URL的首部来识别而不会尝试判断相同的IP地址对应的域或者两个域是否对应一个IP

      前端对于跨域的解决办法:

      (1) document.domain+iframe

      (2) 动态创建script标签

      23,什么是闭包?下面这个ul,如何点击每一列的时候alert其index?

      这是第一条

      这是第二条

      这是第三条

      内部函数被定义它的函数的外部区域调用的时候就产生了闭包。

      (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,请给出异步加载js方案,不少于两种

      默认情况javascript是同步加载的,也就是javascript的加载时阻塞的,后面的元素要等待javascript加载完毕后才能进行再加载,对于一些意义不是很大的javascript,如果放在页头会导致加载很慢的话,是会严重影响用户体验的。

      异步加载方式:

      (1) defer,只支持IE

      (2) async:

      (3) 创建script,插入到DOM中,加载完毕后callBack,见代码:

      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);

      }

    为您推荐

    2019年两会《政府工作报告》养老金新政策,要提高养老保障水平

    《关于2018年中央和地方预算执行情况与2019年中央和地方预算草案的报告》要求,提高养老保障水平。从2019年1月1日起,按平均约5%的幅度提高企业和机关事业单位退休人员基本养老金标准。

    2019-06-13 04:57

    如何在另类面试问题中胜出

    在面试中,有些考官会先提一个不甚友好的问题,或者劈头浇你一盆冷水,让你在委屈和激愤中露出本色。在他看来,击溃你的心理防线,才能筛选出有心理承受能力的智者,找到能面对压力的新鲜血液。要想在压力面试中胜出,只能学会绕开陷阱,奋战到底。

    2019-06-08 03:00

    面试紧张时应该怎么办

    面试是进入公职机关的最后一道主要的门槛,因此可以说每一位进入面试的人,心里就像绷住一根弦一样,也就是说每位考生,都会以高度的精神状态去抓住这次进入角色的机会。出现紧张、焦虑的心情也是不可避免的,只有认识了解,才能完全的克服。

    2019-06-08 02:58

    面对变故 学会自我解嘲

    面对降级、减薪、甚至解雇、离婚、丧子等变故,许多人反应过度,很长时间缓不过劲儿来。而有的人却能很快度过,重返正常的生活轨道。其决定因素是一种特殊的心理素质:心理复原力。有了它,人们不怕挫折;而缺少它,会特别害怕受伤害,不敢付出行动。

    2019-06-06 03:12

    办公室里该与不该谈论的话题

    办公室是一个充满原则、纪律,讲求策略的场合,更是一个充满利益冲突的是非之所。既如此,办公室里谈个人私事是否妥当呢?网上调查显示,尽管九成以上的人认为“办公室里隐私不宜说”,但是她/他们又同时承认有在办公室里谈论涉及私人感情、家庭关系、同事喜恶和上下级关系等隐私性内容的行为。

    2019-06-06 03:10

    面试自我介绍的几大原则

    应聘到外企或其他用人单位时,求职者往往最先被问及的问题就是“请先介绍介绍你自己”。这个问题看似简单,但求职者一定要慎重对待,它是你突出优势和特长,展现综合素质的好机会。回答得好,会给人留下良好的第一印象。

    2019-06-01 03:19

    外企面试必须要注意的五“必要”

    到外企面试前,仅仅准备好一份简历是不够的,还要提前做好面试前的“功课”,这样面试通过的几率就会大大增加。

    2019-06-01 03:16

    加载中...