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 规定了标记语言的规则,这样浏览器才能正确地呈现内容。
面试题
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标签中的内容。