1. HTML元素及分类
01. 行内元素
span bra label selectradiotd strong b iem 斜体bigsmallsubsup
02. 块级元素
head (头部)meat (申明页面的诸多属性) title (窗口标题)style (样式)body (文本内容)header (头部块)section (内容块)footer (底部块)acticle (文章块)nav menuh1~h6hrp div ul li ol oidldt dd form table theader tbodytr thtextareablockquote 引用块marquee 滚动文本
03. 行内元素兼块级元素特性
img input buttonvideocanvasaudio
2. 写一个方法去掉字符串中的空格,要求传入不同的类型分别能去掉前、后、前后、中间的空格
备注:
01. Symbol
ES5中包含5种原始类型:字符串、数字、布尔值、null和undefinedES6引入了第6种原始类型——Symbol凡是属性名属于 Symbol 类型,就都是独一无二的,可以保证不会与其他属性名产生冲突Symbol是原始值,ES6扩展了typeof操作符,返回"symbol"。所以可以用typeof来检测变量是否为symbol类型
02. Object.freeze()
Object.freeze() 方法可以冻结一个对象。
一个被冻结的对象再也不能被修改;
冻结了一个对象则不能向这个对象添加新的属性,不能删除已有属性,不能修改该对象已有属性的可枚举性、可配置性、可写性,以及不能修改已有属性的值。
此外,冻结一个对象后该对象的原型也不能被修改。freeze() 返回和传入的参数相同的对象。
03. 正则表达式的一些规则
^ 匹配输入字符串的开始位置\s 匹配任何空白字符,包括空格、制表符、换页符等+ 匹配前面的子表达式一次或多次$ 匹配输入字符串的结尾位置第一个/表示正则表达式的开始最后一个/g是全局匹配模式(匹配在整个字符串都有效)
// 去掉空格var POSITION = Object.freeze({left: Symbol(),right: Symbol(),both: Symbol(),center: Symbol(),all: Symbol()})/** str 字符串position 位置*/function trim(str, position = POSITION.both) {switch (position) {case POSITION.left:str = str.replace(/^\s+/, '')breakcase POSITION.right:str = str.replace(/\s+$/, '')breakcase POSITION.both:str = str.replace(/^\s+/, '').replace(/\s+$/, '')breakcase POSITION.center:while (str.match(/\w\s+\w/)) {str = str.replace(/(\w)(\s+)(\w)/, `$1$3`)}breakcase POSITION.all:str = str.replace(/\s/g, '')break}return str}var str = trim(' s t r ', POSITION.all)console.log(`|${str}|`)