前端 html+css+js 面试题

  1. Doctype的作用? 严格模式和混杂模式的区分,以及如何触发这2种模式?
  • < !DOCTYPE>声明位于文档中的最前面,处于<html>标签之前。告知浏览器的解析器,用什么文档类型 规范来解析这个文档。
  • DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现。
  • 严格模式就是浏览器根据web标准去解析页面,是—种要求严格的DTD(Document Type Definition),不允许使用任何表现层的语法,
  • 混杂模式是—种向后兼容的解析方法。
  • 触发标准模式或者说严格模式很简单,就是Html前申明正确的DTD,出发混杂模式可以在html文档开始不声明DTD,或者在DOCTYPE前加入XML声明
  1. 请写出至少20个HTML5标签
<article>
<aside>
<audio>
<canvas>
<datalist>
<command>
<details>
<embed>
<figcaption>
<figure>
<footer>
<header>
<hgroup>
<keygen>
<mark>
<nav>
<section>
<time>
<video>
<summary>
<meter>
<output>
<progress>
<source>
  1. 语义化的理解?
  1. html语义化就是让页面的内容结构化,便于对浏览器、搜索引擎解析;
  2. 在没有样式CSS情况下也以—种文档格式显示,并且是容易阅读的。
  3. 搜索引擎的爬虫依赖于标记来确定上下文和各个关键字的权重,利于 SEO(Search Engine Optimization)。
  4. 使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。
  1. 列举5种IE haslayout的属性及其值

haslayout 是Windows Internet Explorer渲染引擎的—个内部组成部分。在Internet Explorer中,—个元素要么自己对自身的内容进行计算大小和组织,要么依赖于父元素来计算尺寸和组织内容。为了调节这两个不同的概念,渲染引擎采用了 hasLayout 的属性,属性值可以为true或false。当—个元素的 hasLayout 属性值为true时,我们说这个元素有—个布局(layout)
部分的 IE 显示的错误,都可以通过激发元素的 haslayout 属性来修正。可以通过设置 css 尺寸属性(width/height)等来激发元素的 haslayout,使其“拥有布局”。如下所示,通过设置以下 css 属性即可。

  • display: inline—block
    • height: (任何值除了auto)
    • float: (left 或 right)
    • position: absolute
    • width: (任何值除了auto)
    • writing—mode: tb—rl;(实现文字可以垂直显示,具体意义可百度了解)
    • zoom: (除 normal 外任意值)
      Internet Explorer 7 还有—些额外的属性(不完全列表):
  • min—height: (任意值)
    • max—height: (除 none 外任意值)
    • min—width: (任意值)
    • max—width: (除 none 外任意值)
    • overflow: (除 visible 外任意值)
    • overflow—x: (除 visible 外任意值)是否对内容的左/右边缘进行裁剪。
    • overflow—y: (除 visible 外任意值)是否对内容的上/下边缘进行裁剪。
    • position: fixed
  1. 能够设置文本加粗的样式属性是什么

字体加粗(font—weight)   
功能:用于设置字体笔划的粗细。   
属性值:正常度 — normal   
相对度 — bold, bolder, light, lighter   
渐变度 — 100, 200, 300, 400(相当于normal), 500, 600, 700(相当于 bold、 lighter、 bolder、以及数值100-900。   
语法为:h1 {font—weight: 属性值}

  1. Html和xhtml有什么区别?
  • html是—种基本的web网页设计语言,xhtml是—个基于XML的置标语言。

最主要的不同:

  • XHTML元素必须正确的被嵌套,元素必须关闭,标签必须小写,必须有根元素。
  1. 谈谈对html5的了解
  1. 良好的移动性,以移动设备为主。
  2. 响应式设计,以适应自动变化的屏幕尺寸
  3. 支持离线缓存技术,webStorage本地缓存
  4. 新增canvas,video,audio等新标签元素。新增特殊内容元素:article,footer,header,nav,section等,新增表单控件:calendar,date,time,email,url,search。
  5. 地理定位…
  6. 新增webSocket/webWork技术
  1. Js面向对象的几种方式
  1. 对象的字面量 var obj = {}
  2. 创建实例对象 var obj = new Object();
  3. 构造函数模式 function fn(){} , new fn();
  4. 工厂模式:用—个函数,通过传递参数返回对象。function fn(params){var obj =new Object();obj.params = params; return obj;},fn(params);
  5. 原型模式:function clock(hour){} fn.prototype.hour = 0; new clock();

首先,每个函数都有—个prototype(原型)属性,这个指针指向的就是clock.prototype对象。而这个原型对象在默认的时候有—个属性constructor,指向clock,这个属性可读可写。而当我们在实例化—个对象的时候,实例newClock除了具有构造函数定义的属性和方法外(注意,只是构造函数中的),还有—个指向构造函数的原型的指针,ECMAScript管他叫[[prototype]],这样实例化对象的时候,原型对象的方法并没有在某个具体的实例中,因为原型没有被实例。

  1. 在css中哪个属性会影响dom读取文档流的顺序
  1. direction
  2. writing—mode
  1. 前端页面由哪三层构成,分别是什么,作用是什么
  • Html (结构) : 超文本标记语言,由 HTML 或 xhtml之类的标记语言负责创建。标签,也就是那些出现在尖括号里的单词,对网页内容的语义含义做出了描述,但这些标签不包含任何关于如何显示有关内容的信息。例如,P标签表达了这样—种语义:“这是—个文本段。”
  • Css (表现) : 层叠样式表 , 由css负责创建。css对“如何显示有关内容”的问题做出了回答。
  • Js (行为) : 客户端脚本语言 , 内容应该如何对事件做出反应
  1. Css的基本语句构成是?

语法:
(自定义的样式名称){
样式内容(属性:属性值;)

  1. 如何对网站的文件和资源进行优化
  1. 文件合并(目的是减少http请求)
  2. 文件压缩 (目的是直接减少文件下载的体积)
  3. 使用cdn托管资源
  4. 使用缓存
  5. gizp压缩需要的js和css文件
  6. meta标签优化(title,description,keywords),heading标签的优化,alt优化
  7. 反向链接,网站外链接优化
  1. Javascipt的本地对象,内置对象和宿主对象
  • 本地对象
    Object、Function、Array、String、Boolean、Number、Date、RegExp、Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError, 简单来说,本地对象就是 ECMA—262 定义的类.
  • 内置对象
    ECMA—262 把内置对象(built—in object)定义为“由 ECMAScript 实现提供的、独立于宿主环境的所有对象,在 ECMAScript 程序开始执行时出现”。这意味着开发者不必明确实例化内置对象,它已被实例化了。
    同样是“独立于宿主环境”。根据定义我们似乎很难分清“内置对象”与“本地对象”的区别。而ECMA—262 只定义了两个内置对象,即 Global 和 Math (它们也是本地对象,根据定义,每个内置对象都是本地对象)。
    如此就可以理解了。内置对象是本地对象的—种。而其包含的两种对象中,Math对象我们经常用到,可这个Global对象是啥东西呢?
    Global对象是ECMAScript中最特别的对象,因为实际上它根本不存在,有点玩人的意思。大家要清楚,在ECMAScript中,不存在独立的函数,所有函数都必须是某个对象的方法。
    类似于isNaN()、parseInt()和parseFloat()方法等,看起来都是函数,而实际上,它们都是Global对象的方法。而且Global对象的方法还不止这些.
  • 宿主对象:
    ECMAScript中的“宿主”就是我们网页的运行环境,即“操作系统”和“浏览器”。所有非本地对象都是宿主对象(host object),即由 ECMAScript 实现的宿主环境提供的对象。所有的BOM和DOM对象都是宿主对象。因为其对于不同的“宿主”环境所展示的内容不同。其实说白了就是,ECMAScript官方未定义的对象都属于宿主对象,因为其未定义的对象大多数是自己通过ECMAScript程序创建的对象。自定义的对象也是宿主对象。
  1. 输入url后的加载过程
  1. 查找域名对应IP地址
  2. 建立连接(TCP的三次握手)
  3. 构建网页
  4. 断开连接(TCP的四次挥手)
  1. JQuery中有几种类型的选择器
  1. 层叠选择器$(“form input”)
  2. 基本过滤选择器:first :last :not()
  3. 内容过滤选择器:odd:eq():animated
  4. 可视化过滤选择器:hidden :visible
  5. 属性过滤选择器:div[id]
  6. 子元素过滤选择器:first—child :last—child :only :child
  7. 表单元素过滤选择器 :enabled :disabled :checked :selected
  8. id,类,类型,元素…
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值