• 面试题三(中)


    一.svg canvas的区别
    svg
    1. svg是一种使用xml描述2D图形的语言
    2. svg基于XML,意味着svg中所有元素都是可用的
    3. 在 SVG 中,每个被绘制的图形均被视为对象,如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形
    canvas
    1. Canvas 通过 JavaScript 来绘制 2D 图形。
    2. Canvas 是逐像素进行渲染的。
    3. 在 canvas 中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。
    SVG
    不依赖分辨率
    支持事件处理器
    最适合带有大型渲染区域的应用程序(比如谷歌地图)
    复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快)
    不适合游戏应用
    Canvas
    依赖分辨率
    不支持事件处理器
    弱的文本渲染能力
    能够以 .png 或 .jpg 格式保存结果图像
    最适合图像密集型的游戏,其中的许多对象会被频繁重绘

    二.一个事件的处理过程主要有三个阶段

    捕获,目标,冒泡;

    三.事件委托
    1. 原理:利用事件冒泡,比如页面上有这么一个节点树,div>ul>li>a;比如给最里面的a加一个click点击事件,那么这个事件就会一层一层的往外执行,执行顺序a>li>ul>div,有这样一个机制,那么我们给最外面的div加点击事件,那么里面的ul,li,a做点击事件的时候,都会冒泡到最外层的div上,所以都会触发,这就是事件委托,委托父级代替他们执行事件。
    2. 优点:提高性能,避免对每个节点添加事件监听器
    四.浏览器输入网址后发生了什么
    1. 浏览器会查找域名的ip,DNS域名解析
    2. 浏览器会给web服务器发送一个http请求
    3. 服务器处理请求,并返回一个html页面
    4.浏览器解析并开始显示html页面

  • 相关阅读:
    linux查看进程命令
    linux修改时区的命令
    深度学习VGG16模型核心模块拆解
    Python之format()函数
    os.path.isfile()的正确用法(正确用法)
    Python time.time()方法
    tf.train.Saver()
    Python3字典update()方法
    图解Numpy的tile函数
    池化层的作用和种类
  • 原文地址:https://www.cnblogs.com/NaN-6/p/6740856.html
Copyright © 2020-2023  润新知