2021.3.4 前端题

【HTML】title与h1的区别、b与strong的区别、i与em的区别?

  • (1) title与h1的区别
    title是网站的标题,只能有一个。一般用来简要说明网站主题、内容、作用
    h1是文章主题,显示在网站当中。突出重要内容。
    如果title为空,但是页面存在h1,b,strong标签,搜索引擎会默认页面title为h1内的内容,
    所以h1是在没有外界干扰下除title以外第二个能强调页面主旨的标记,在一个页面中应该使用且只使用一次h1标记

  • (2) b与strong的区别
    都可以加粗以强调内容重要性,但b仅是视觉上加粗,而strong还表示语义上的强调。在阅读时strong会加重语气阅读。

    ps:根据 HTML5 规范,在没有其他合适标签更合适时,才应该把<b> 标签作为最后的选项。HTML5 规范声明:应该使用<h1> - <h6> 来表示标题,使用 <em> 标签来表示强调的文本,应该使用 <strong> 标签来表示重要文本,应该使用<mark> 标签来表示标注的突出显示的文本

  • (3) i与em的区别
    虽然二者都可以使文字倾斜,但em额外有在语义上表示标签内字符重要,用以强调,其默认格式是斜体,但是可以通过CSS添加样式。

物理元素是告诉浏览器我应该以何种格式显示文字,逻辑元素告诉浏览器这些文字有怎么样的重要性。
对于搜索引擎来说em和strong比i和b要重要的多,也应该尽量去使用em和strong,而不是i和b。

【CSS】margin边界叠加是什么?该如何解决?

1) margin边界叠加:当两个垂直边界相遇时,它们将形成一个边界,这个边界的高度等于两个发生叠加的边界的高度中的较大者。
margin的边界叠加发生在竖直方向上(左右方向上不会叠加)。兄弟DOM节点、父元素中的第一个子节点、以及最后一个尾节点都会产生 margin边界叠加的现象。由于CSS早期主要用在文字、图片排版上,因此上下margin的叠加是符合预期效果的。
2) 解决方法:
2.1) 外层padding
2.2) 透明边框border:1px solid transparent;
2.3) 绝对定位postion:absolute;
2.4) 外层DIVoverflow:hidden;
2.5) 内层DIV加float:left;display:inline;
2.6) 外层DIV有时会用到zoom:1;

【JS】javascript作用域如何理解。

作用域是啥

作用域是在运行时代码中的某些特定部分中变量,函数和对象的可访问性。换句话说,作用域决定了代码区块中变量和其他资源的可见性。
作用域就是一个独立的地盘,让变量不会外泄、暴露出去。也就是说作用域最大的用处就是隔离变量,不同作用域下同名变量不会有冲突。
比如下面这个函数作用域:不同函数可定义同名变量,不影响。

fuction 1(){
	var semmi="bu"
}
fuction 2(){
	var semmi="chong"
}
fuction 3(){
	var semmi="tu"
}

词法作用域

js采用词法作用域,意味着作用域是由编写时函数被声明的位置决定。编译器的词法分析阶段实质上可以知道所有的标识符是在哪里和如何声明的,并在执行期间预测它们将如何被查询。(例外是eval(),with,不推荐使用)

作用域分类

ES6 之前 JavaScript 没有块级作用域,只有全局作用域和函数作用域。

全局作用域

代码中任何地方都能访问到的对象拥有全局作用域,一般来说以下几种情形拥有全局作用域:
* 最外层函数 和在最外层函数外面定义的变量拥有全局作用域
* 所有末定义直接赋值的变量自动声明为拥有全局作用域

```javascript
fuction 2(){
	var semmi="chong"
	semiiii="你看我没有定义直接赋值了,我拥有全局作用域"
}
console.log(semmi)-->//inVariable2 is not defined
console.log(semiiii)-->//你看我没有定义直接赋值了,我拥有全局作用域
```
* 所有window对象的属性拥有全局作用域
函数作用域

是指声明在函数内部的变量,和全局作用域相反,局部作用域一般只在固定的代码片段内可访问到,最常见的例如函数内部。
作用域是分层的,内层作用域可以访问外层作用域的变量,反之则不行

块级作用域

块级作用域可通过新增命令let和const声明,所声明的变量在指定块的作用域外无法被访问。
块级作用域在如下情况被创建:
1、在一个函数内部
2、在一个代码块(由一对花括号包裹)内部
let 声明的语法与 var 的语法一致。你基本上可以用 let 来代替 var 进行变量声明,但会将变量的作用域限制在当前代码块中。
块级作用域

【Vue】vue如何开发多语言项目?

vue-i18n实现
安装:npm i vue-i18n -save

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值