zoukankan      html  css  js  c++  java
  • 第四篇

    1.说说前端中的事件流?

    HTML中与javascript交互式通过事件驱动来实现的,例如鼠标点击事件,onclick,页面的滚动事件onscroll等等,可以向文档或者文档中的元素添加事件侦听器来预订事件。想要知道这些事件是在什么时候进行调用的,就需要了解一下“事件流”的概念

    什么是事件流:事件流描述的是从页面中接收事件的顺序,DOM2级事件流包括下面几个阶段。

    事件捕获阶段

    处于目标阶段

    事件冒泡阶段

    addEventListener:addEventListener是DOM2级事件新增的指定事件处理程序的操作,这个方法接收3个参数:

    要处理的事件名,作为事件处理程序的函数和一个布尔值(默认为false,即冒泡的方式)。最后这个布尔值参数如果是true,表示在捕获阶段调用事件处理程序;

    如果是false,表示在冒泡阶段调用事件处理程序。

    向dom绑定事件的三种方式

    1)行内绑定

    <button onclick="clickhander()">按钮</button>
    

    2)js内绑定(DOM0)

    btnDom.onclick = function clickHandler() {
           console.log('click');            
    }
    

    3)事件监听器绑定(DOM2)默认是为false=》冒泡。

    btn.addEventListener('click', e => {
      console.log('click')
    })
    

     

    2.如何让事件先冒泡后捕获?

      在DOM标准事件模型中,是先捕获后冒泡。但是如果要实现先冒泡后捕获的效果,对于同一个事件,监听捕获和冒泡,

    分别对应相应的处理函数,监听到捕获事件,先暂缓执行,直到冒泡事件被捕获后再执行捕获事件。

    3.mouseover和mouseenter的区别?

      mouseover:当鼠标移入元素或其子元素都会触发事件,所以有一个重复触发,冒泡的过程。对应的移除事件是mouseout.

      mouseenter:当鼠标移除元素本身(不包含元素的子元素)会触发事件,也就是不会冒泡,对应的移除是mouseleave。

    4.js的new操作符做了哪些事情?

      new操作符新建了一个空对象,这个对象原型指向构造函数的prototype,执行构造函数后返回这个对象。

    5.js的各种位置,比如clientHeight,scrollHeight,以及scrollTop,offsetTop,clientTop的区别

      1)clientHeight:表示的是可视区域的高度,不包含border和滚动条

      2)offsetHeight:表示可视区域的高度,包含了border和滚动条

      3)scrollHeight:表示了所有区域的高度,包含了因为滚动被隐藏的部分。

      4)clientTop:表示边框border的厚度,在未指定的情况下一般为0。

      5)scrollTop:滚动后被隐藏的高度,获取对象想对于由offsetParent属性指定的父坐标(css定位的元素

    或body元素)距离顶端的高度。

    6.Iframe是什么?有什么缺点?

      定义:iframe元素会创建包含另一个文档的内联框架

      提示:可以将提示文字放在<iframe></iframe>之间,来提示某些不支持iframe的浏览器

      缺点:

        会阻塞主页面的onload事件

        搜索引擎无法解读这种页面,不利于SEO

        iframe和主页面共享连接池,而浏览器对相同区域有限制所以会影响性能。

    7.Doctype作用?严格模式和混杂模式如何区分?他们又何意义?

      Doctype声明于文档最前面,告诉浏览器以何总方式来渲染页面,这里有两种模式,严格模式和混杂模式。

      严格模式的排版和JS运作模式是以该浏览器支持的最高标准运行。

      混杂模式,向后兼容,模拟老式浏览器,防止浏览器兼容页面。

    8.link标签和import标签的区别?

      link属于html标签,而@import是css提供的

      页面被加载时,link会同时被加载,而@import引用的css会等到页面加载结束后加载。

      link是html标签,因此没有兼容性,而@import只有IE5以上才能识别。

      link方式样式的权重高于@import。

    9.多行元素的文本省略号?

    10.简述一下src和href的区别?

    1)href是指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接,用于超链接。

    2)src是指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置;在请求src资源时将其

      指向的资源下载并应用到文档内,例如js脚本,img图片和frame等元素。

    3)当浏览器解析到元素时,会暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕,

      图片和框架等元素也如此,类似于将所指向资源嵌入当前标签内。这也是为什么将js脚本放在底部而不是头部。

       转载:http://www.itlike.com/article/23

      

  • 相关阅读:
    通过jarjar.jar来替换jar包名的详细介绍
    Android开发中adb启动失败adb连接异常的解决办法
    App你真的需要么
    MVC5 网站开发之九 网站设置
    MVC5 网站开发之八 栏目功能 添加、修改和删除
    MVC5 网站开发之七 用户功能 3用户资料的修改和删除
    Ninesky源代码从Codeplex迁移到开源中国
    MVC5 网站开发之七 用户功能 2 用户添加和浏览
    赶个项目,博客稍后更新
    MVC5 网站开发之七 用户功能 1、角色的后台管理
  • 原文地址:https://www.cnblogs.com/huen2015/p/10537961.html
Copyright © 2011-2022 走看看