HTML学习整理

82 阅读2分钟

1.HTML4和HTML5的区别

为什么HTML5只需要写 <!DOCTYPE html>, 而HTML4为什么需要写<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">。因为在HTML4.01中,声明引用DTD,因为 HTML4.01基于SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。

面试题

1.如何区分HTML和HTML5

2.为什么HTML和HTML5的声明方式不同/背后的原理是什么?

3.JS这门语言由哪些部分组成,不同的部分都有什么作用;

ECMAScript, DOM, BOM 这三部分组成

ECMAScript: 提供语言核心功能,是核心,规定了语言的书写规范。

    let a = 100

DOM: 提供了访问和操作网页的对象与接口(Document Object Model)文档对象模型

    let div = document.getElementById('div)
	div.innerText = '这是我的文本内容'

BOM: 是提供与浏览器交互的对象与接口(Browser Object Model)浏览器对象模型

    windows.location.href

4.列举下你知道的HTML标签

  • 行内元素:一行能多个显示,不能设置高; 常见的有 span、a、em
  • 块元素:独占一行,能设置宽高; 常见的有 div、table、ul、p、address、ol、ul、dl、h1--h6
  • 行内块元素:一行能多个显示,也能设置宽高; 常见的有 img、input

5.如何判断JS的数据类型

  • 通过typeOf()来判断

    var bool = true
    var num = 1
    var str = 'abc'
    var und = undefined
    var nul = null
    var arr = [1,2,3]
    var obj = {}
    var fun = function(){}
    var reg = new RegExp()
    
    console.log(typeof bool); //boolean
    console.log(typeof num); //number
    console.log(typeof str); //string
    console.log(typeof und); //undefined
    console.log(typeof nul); //object
    console.log(typeof arr); //object
    console.log(typeof obj); //object
    console.log(typeof reg); //object
    console.log(typeof fun); //function
    

    由结果可知,除了在检测null时返回 object 和检测function时返回function。对于引用类型返回均为object

  • instanceof 来判断

    console.log(reg instanceof Object); //true

  • contructor 来判断

      console.log(arr.constructor === Array);// true
    
  • Object.prototype.toString.call()来判断

    console.log(Object.prototype.toString.call(bool));//[object Boolean]
    console.log(Object.prototype.toString.call(num));//[object Number]
    

6.Javascript有几种数据类型

  • 值类型:Undefined、Number、Null、String、Boolean、Symbol
  • 引用类型:Object、Array、Date、Function

7.typeof(null) 输出的是什么

object

8.Javascript代码中的”use strict”;是什么意思,使用它和不使用它有什么区别?

是指定代码在严格模式下执行的意思,在严格模式下不能使用未声明的变量。

9.引入样式表CSS/JS的方式有几种?分别是什么,优先级有什么不同

  • 行内式

  • 嵌入式

  • 外链式

    就近原则---- 离被修饰的元素越近优先级越高

10.HTML中,ID可有几个?calss可有几个?相同的ID可以有几个,相同的class可以有几个?

ID和class可以有无数个,但是相同的ID只能有一个,相同的class可以有很多个。

11.noscript标签是用来做什么的?

在一些浏览器不支持或者禁用javascript的时候,就会显示noscript标签中的内容。