美文网首页前端面试
【IMWeb秋招训练营】【Day1】面试题总结

【IMWeb秋招训练营】【Day1】面试题总结

作者: 公子七 | 来源:发表于2017-07-13 16:38 被阅读36次

    1.什么是盒子模型?

    盒子模型有两种,标准盒子模型和IE盒子模型。

    标准盒子模型:width = content + padding + border + margin

    IE盒子模型:content 包括了 padding 和 border

    2.简述一下src与href的区别?

    简要:

    1.src 是指向物件的来源地址,是引入。在 img、script、iframe 等元素上使用。

    2.href 是超文本引用,指向需要连结的地方,是与该页面有关联的,是引用。在 link和a 等元素上使用。

    3.src通常用作“拿取”(引入),href 用作 "连结前往"(引用)。

    详细:

    href标识超文本引用,用在link和a等元素上,href是引用和页面关联,是在当前元素和引用资源之间建立联系。

    src表示引用资源,表示替换当前元素,用在img,script,iframe上,src是页面内容不可缺少的一部分。src是source的缩写,是指向外部资源的位置,指向的内部会迁入到文档中当前标签所在的位置;在请求src资源时会将其指向的资源下载并应用到当前文档中,例如js脚本,img图片和frame等元素。

    如<script src = 'example.js'></script>当浏览器解析到这一句的时候会暂停其他资源的下载和处理,直至将该资源加载,编译,执行完毕,图片和框架等元素也是如此,类似于该元素所指向的资源嵌套如当前标签内,这也是为什么要把js放在底部而不是头部。

    如<link href = 'common.css' rel = 'stylesheet'>当浏览器解析到这一句的时候会识别该文档为css文件,会下载并且不会停止对当前文档的处理,这也是为什么建议使用link方式来加载css而不是使用@import。

    补充:link和@import的区别

    区别1:link是XHTML标签,除了加载CSS外,还可以定义RSS等其他事务;@import属于CSS范畴,只能加载CSS。

    区别2:link引用CSS时,在页面载入时同时加载;@import需要页面网页完全载入以后加载。

    区别3:link是XHTML标签,无兼容问题;@import是在CSS2.1提出的,低版本的浏览器不支持。

    区别4:ink支持使用Javascript控制DOM去改变样式;而@import不支持。

    3.简述同步和异步的区别?

    简单来说,可以改变程序正常执行顺序的操作就是异步操作。

    SetTimeout 和 SetInterval 就是一种简单的异步函数。

    所有任务可以分成两种,一种是同步任务,另一种是异步任务。同步任务指的是,在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务;异步任务指的是,不进入主线程、而进入“任务队列”的任务,只有等主线程任务执行完毕,“任务队列”开始通知主线程,请求执行任务,该任务才会进入主线程执行。

    异步运行机制如下:

    所有同步任务都在主线程上执行,形成一个执行栈。

    主线程之外,还存在一个任务队列。只要异步任务有了运行结果,就在“任务队列”中放置一个事件。

    一旦“执行栈”中的所有同步任务执行完毕,系统就会读取“任务队列”,看看里面有哪些事件。那些对应的异步任务,于是结束等待装袋,进入执行栈,开始执行。

    主线程不断重复以上三步。

    参考链接:www.ruanyifeng.com/blog/2014/10/event-loop.html

    JS异步编程的四种方法:http://www.ruanyifeng.com/blog/2012/12/asynchronous%EF%BC%BFjavascript.html

    4.怎样添加、移除、移动、复制、创建和查找节点?

    (1)创建新节点

    createDocumentFragment()//创建一个DOM片段

    createElement()//创建一个具体的元素

    createTextNode()//创建一个文本节点

    (2)添加、移除、替换、插入

    appendChild()

    removeChild()

    replaceChild()

    insertBefore()

    (3)查找

    getElementsByTagName()//通过标签名称

    getElementsByName()//通过元素的Name属性的值

    getElementById()//通过元素Id,唯一性

    相关文章

      网友评论

        本文标题:【IMWeb秋招训练营】【Day1】面试题总结

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