首页 > 基础资料 博客日记

【面试经验分享】2022 前端知识复习——JavaScript 基础篇

2023-07-26 20:05:56基础资料围观212

这篇文章介绍了【面试经验分享】2022 前端知识复习——JavaScript 基础篇,分享给大家做个参考,收藏Java资料网收获更多编程知识

js 数据类型有哪些?

基本数据类型:string、number、boolean、undefined、null、symbol、bigint
引用数据类型:object(Array、Function、RegExp 不是数据类型,是类)

区别:堆栈内存存放位置不同

js 判断数据类型的方法?

1. typeof(null->object、function->function)
2. instanceof (不能正确判断基本数据类型)
3. constructor(原型可以更改,不可靠)
4. Object.prototype.toString.call()(返回当前实例所属类信息 [object Object],需要封装)

0.1 + 0.2 = ?

0.1 + 0.2 = 0.3...(15个0)...4
js 只有一个数字类型 number,是基于 IEEE 754 的双精度浮点类型,浮点数计算存在误差。

如何解决?
	1. (0.1*10 + 0.2 * 10)/10
	2. ES6 的 Number.EPSILON 定义了一个数字常量,作为一个误差范围值。

什么是闭包?

闭包是 JavaScript 的一个语法特性
闭包可以用一个公式来概括:闭包 = 函数 + 自由变量
js 变量分为:全局变量、本地变量、自由变量。自由变量就是非全局变量和本地变量的变量,也可以指其他函数作用域或者块级作用域内的变量。

上面公式结合自由变量定义再展开说就是:一个函数访问或者是引用了其他函数作用域或块级作用域内的变量,这么一种语法特性就是闭包。

闭包的作用:
	1. 封装私有变量,避免污染全局环境
	2. 提供对局部变量的间接访问
	2. 延长变量的生命周期,防止其不被垃圾回收

闭包的缺陷:早期 IE 浏览器对闭包内的所有变量都不会进行销毁,导致内存泄漏,现代浏览器基本上不会出现这种问题了。

作用域和作用域链是什么?

作用域:变量的合法使用范围,JavaScript 采用的是词法作用域(作用域是由书写代码时函数声明的位置决定)
作用域链:

原型和原型链是什么?

js 实现继承的方式?

函数里面的 arguments 是什么?

js 如何判断数组中是否包含某个值?

什么是高阶函数?

说说 js 的 this?


文章来源:https://www.cnblogs.com/cqkjxxxx/p/16500297.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云