JS(一)

98 阅读2分钟

1. 什么是“use strict”,好处和坏处(掌握)

use strict: "严格模式"是一种在JavaScript代码运行时自动实行更严格解析和错误处理的方法。

优点:

  1. 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
  2. 消除代码运行的一些不安全之处,保证代码运行的安全;
  3. 提高编译器效率,增加运行速度;
  4. 为未来新版本的Javascript做好铺垫。

缺点:

现在网站的 JS 都会进行压缩,一些文件用了严格模式,而另一些没有。这时这些本来是严格模式的文件,被 merge 后,这个字符串("use strict")就到了文件的中间,不仅没有指示严格模式,反而在压缩后浪费了字节。

2. console.log(0.1 + 0.2)(掌握)

0.1+0.2的结果不是0.3,而是0.3000000000000000004。

JS中两个数字相加时是以二进制形式进行的,当十进制小数的二进制表示的有限数字超过52位时,在JS里是不能精确储存的,这个时候就存在舍入误差。

3. 数组pop(), push(), unshift(), shift()的区别(掌握)

  • push()方法可以在数组的末尾添加一个或多个元素

  • shift()方法把数组中的第一个元素删除

  • unshift()方法可以在数组的前端添加一个或多个元素

  • pop()方法把数组中的最后一个元素删除

4. == 和 ===(掌握)

  1. ==:只是比较值

  2. ===:既要比较数据类型还要比较值

5. 事件冒泡和事件捕获到底有何区别?(掌握)

  1. 事件冒泡:从下至上。当给父子元素的同一事件绑定方法的时候,触发子元素身上的事件,执行完毕之后,也会触发父级元素相同的事件。

  2. 事件捕获:从上至下到指定元素。当触发子元素身上的事件时,先触发父元素,然后在传递给子元素

注意: addEventListener中有三个属性,第三个属性是布尔值。false为事件冒泡,true为事件捕获!

image.png