js基础常考面试题汇总(一)(附答案)
1.值类型和引用类型的区别
//值类型 let a = 100 let b = a a = 200 console.log(b) //100 //引用类型 let a = { age: 20 } let b = a console.log(a.age) //21
值类型:number, string, boolean, null, undefined, symbol(ES6) 引用类型:Object(对象的子类: Array, Function(对象的顶层类型), Reg, Date)。 区别: (1)值类型的变量重新赋值后,它的值不会改变,而引用类型的值重新赋值后会改变 (2)值类型是存储在栈中的,算是值的拷贝。引用类型是存储在堆中的,是值的引用。
2.typeof运算符作用
//判断所有值类型 let a; typeof a //undefined const str = abc; typeof str //string const b = 100 ; typeof b //number const c = true; typeof c //boolean const s = Symbol(s); typeof d //symbol //能判断函数 typeof console.log //function typeof function() { } //function //能识别引用类型(不能继续识别) typeof null //object typeof [a,b] //object typeof { x:100} //object
作用:可以判断所有值类型,判断函数,能识别引用类型(不可细分)
3.instanceof 可判断对象的具体类型
karry instanceof object //true //*判断一个变量是数组 [] instanceof Array //true [] instanceof Object //true { } instanceof Object //true
4.truly变量和falsely变量
truly变量:!!a===true的变量 falsely变量:!!a===false的变量
5.何时使用= = = 何时使用 = =
两等:当数据类型不一样时,会发生强制转换,然后比较值是否相等 三等:数据类型相同,数据的值也相同,不会发生类型转换,才能为true
6.原型 (1)原型指的是两个原型属性:
-
prototype: 显示原型属性,每个函数class都有显示原型prototype proto: 隐式原型属性,每个对象实例都有隐式原型_proto_ 实例的_proto_指向对应class的prototype
(2)原型链 访问一个对象的属性时,先在自身属性中查找,找到返回,如果没有, 再沿着__proto__这条链向上查找, 找到返回,如果最终没找到, 返回undefined 7.闭包
闭包是指有权访问另一个函数作用域中的变量的函数。 创建闭包的方式就是在一个函数内部创建另一个函数 应用场景:放置在那些声明函数的环境里,被标记了进入环境没有标记离开环境的变量供函数使用 作用域应用的特殊情况,有两种表现: 函数作为参数被传递 函数作为返回值被传递
8.同步和异步的区别
基于js是单线程语言 异步不会阻塞代码执行 同步会阻塞代码执行
9.如何解决异步 异步问题: js在执行过程中,每遇到一个异步函数,都会将这个异步函数放入一个异步队列中,只有当同步线程执行结束之后,才会开始执行异步队列中的函数
解决异步: 回调函数 promise generator(微任务) async+await(可与promise混用)
10.遍历数组和对象的方法:
数组: (1) for循环 用length测试数组的长度 (2) forEach() 需要一个函数作为参数,传递3个参数作用: (正在遍历的对象,遍历的对象的索引,正在遍历的数组) (3) map 遍历数组的每个元素,并回调,需要返回值,返回值组成新的数组,原数组不变 (4) filter() 不改变原始数组,返回新的数组 (5) for…of循环可以正确相应break,continue,return (6) every() 返回一个boolean,判断每个元素是否符合条件(所有都判断,一false即返) (7) some() 返回一个boolean,判断是否有元素是否符合func条件(有一个就行, 一true即返) 对象: (1) For…in 遍历对象key值 (2) Object.keys(obj) 返回对象key值数组 (3) 对象合并 Object.assign():将一个或多个源对象复制到目标对象
上一篇:
Java基础知识总结(2021版)
下一篇:
常见面试的知识点 MySQL的事务