专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

前端JS中需要注意的点,你是否还记得?

ins518 2024-11-22 15:44:03 技术文章 8 ℃ 0 评论



JavaScript 中的变量提升

所谓提升,顾名思义即是 JavaScript 会将所有的声明提升到当前作用域的顶部。

这也就意味着我们可以在某个变量声明前就使用该变量,不过虽然 JavaScript 会将声明提升到顶部,但是并不会执行真的初始化过程。


use strict; 的作用

use strict; 顾名思义也就是 JavaScript 会在所谓严格模式下执行,其一个主要的优势在于能够强制开发者避免使用未声明的变量。

对于老版本的浏览器或者执行引擎则会自动忽略该指令。

    // Example of strict mode
    "use strict";

    catchThemAll();
    function catchThemAll() {        x = 3.14; // Error will be thrown        return x * x;    }


什么是 Event Bubbling 及如何避免

Event Bubbling 即指某个事件不仅会触发当前元素,还会以嵌套顺序传递到父元素中。直观而言就是对于某个子元素的点击事件同样会被父元素的点击事件处理器捕获。

避免 Event Bubbling 的方式可以使用event.stopPropagation() 或者 IE 9 以下使用event.cancelBubble。


== 与 === 的区别???

=== 也就是所谓的严格比较,关键的区别在于=== 会同时比较类型与值,而不是仅比较值。


// Example of comparators
0 == false; // true
0 === false; // false

2 == '2'; // true
2 === '2'; // false


null 与 undefined 的区别???

JavaScript 中,null 是一个可以被分配的值,设置为 null 的变量意味着其无值。

而 undefined 则代表着某个变量虽然声明了但是尚未进行过任何赋值。


Prototypal Inheritance 与 Classical Inheritance 的区别

在类继承中,类是不可变的,不同的语言中对于多继承的支持也不一样,有些语言中还支持接口、final、abstract 的概念。而原型继承则更为灵活,原型本身是可以可变的,并且对象可能继承自多个原型。


喜欢的老铁,加个关注!今后会分享更多的前端干货,欢迎点赞转发关注


来源丨前端日志周刊
https://github.com/kennymkchan/interview-questions-in-javascript

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表