面试题

作者: zhengshilin | 来源:发表于2019-06-09 19:00 被阅读0次
    1.JavaScript中面向对象中继承的实现
    function Person(name) {
      this.name = name;
    }
    Person.prototype.showName = function() {
      console.log(this.name)
    }
    function Worker(name,job) {
      Person.apply(this,augument);
      this.job = job;
    }
    for(var key in Person.prototype) {
      Worker.prototype = Person.prototype;
    }
    
    2.能描述下渐进增强和优雅降级之间的不同吗?

    优雅降级:Web站点在所有新式浏览器中都能正常工作,如果用户使用的是老式浏览器,则代码会检查以确认它们是否能正常工作。由于IE独特的盒模型布局问题,针对不同版本的IE的hack实践过优雅降级了,为那些无法支持功能的浏览器增加候选方案,使之在旧式浏览器上以某种形式降级体验却不至于完全失效.

    渐进增强:从被所有浏览器支持的基本功能开始,逐步地添加那些只有新式浏览器才支持的功能,向页面增加无害于基础浏览器的额外样式和功能的。当浏览器支持时,它们会自动地呈现出来并发挥作用。

    3.请说出三种减少页面加载时间的方法。(加载时间指感知的时间或者实际加载时间)

    1.优化图片

    2.图像格式的选择(GIF:提供的颜色较少,可用在一些对颜色要求不高的地方)

    3.优化CSS(压缩合并css,如margin-top,margin-left…)

    4.网址后加斜杠(如www.campr.com/目录,会判断这个“目录是什么文件类型,或者是目录。)

    5.标明高度和宽度(如果浏览器没有找到这两个参数,它需要一边下载图片一边计算大小,如果图片很多,浏览器需要不断地调整页面。这不但影响速度,也影响浏览体验。当浏览器知道了高度和宽度参数后,即使图片暂时无法显示,页面上也会腾出图片的空位,然后继续加载后面的内容。从而加载时间快了,浏览体验也更好了。)

    6.减少http请求(合并文件,合并图片)。

    相关文章

      网友评论

          本文标题:面试题

          本文链接:https://www.haomeiwen.com/subject/uckfxctx.html