一省:HTML
7. XHTML与HTML有何不同?
XHTML是什么?
- XHTML 指可扩展超文本标签语言(EXtensible HyperText Markup Language)。
- XHTML 的目标是取代 HTML。
- XHTML 与 HTML 4.01 几乎是相同的。
- XHTML 是更严格更纯净的 HTML 版本。
- XHTML 是作为一种 XML 应用被重新定义的 HTML。
- XHTML 是一个 W3C 标准。
最主要的不同:
- XHTML 元素必须被正确地嵌套。
- XHTML 元素必须被关闭。
- 标签名必须用小写字母。
- XHTML 文档必须拥有根元素。
二省: CSS
7. BFC是什么?怎么触发BFC?
BFC(Block Formatting Context, 块级格式化上下文)是指浏览器中创建了一个独立的渲染区域,该区域内所有元素的布局不会影响到区域外元素的布局,这个渲染区域只对块级元素起作用。
以下方式会创建BFC
- 根元素(<html>)
- 浮动元素(float值不为 none)
- 定位元素(position值为absolute或fixed)
- display值为inline-block、inline-flex、flex、flow-root、table-caption、table-cell
- overflow值不为visible、clip
三省:JavaScript
7. 数组去重常用方法?
- new Set()
var newArr = new Set(arr)
Set中不允许有重复元素。
- filter() + indexOf()
var newArr = arr.filter((item, index) => {
return arr.indexOf(item) === index
})
- 双重for循环
for(var i=0; i<arr.length; i++){
for(var j=i+1; j<arr.length; j++){
if(arr[i]==arr[j]){
arr.splice(j,1);
j--;
}
}
}
- sort()
arr = arr.sort()
var newArr = [arr[0]]
for(let i=1; i<arr.length; i++){
if(arr[i] !== arr[i-1]){
newArr.push(arr[i])
}
}
先排序,再比较下一个元素跟当前元素是否一样。
- includes()
arr.forEach((item) => {
if(!newArr.includes(item)){
newArr.push(item)
}
})
includes 检测数组是否有某个值