javaScript—这些年被面试官问烂了的面试题

ID:可乐伢

没错这又是一篇持续更新的博客,预计999999999999999999999题(强烈推荐收藏)



前言

提示:大多数人会觉得基础很简单。忽略。但如果js基础你回答的不好,那么你在面试官心中的心中就已经是不太符合了。大佬请忽略此提示


提示:以下是本篇文章正文内容,下面案例可供参考

一、基础模块

1.js类型判断

基本数据类型:Undefined、Null、Boolean、Number、String,Symbol

  • typeof

     					console.log(typeof bool); //boolean  					console.log(typeof num);//number  					console.log(typeof str);//string  					console.log(typeof und);//undefined  					console.log(typeof nul);//object  					console.log(typeof arr);//object  					console.log(typeof obj);//object  					console.log(typeof fun);//function  					console.log(typeof s1); //symbol  					console.log(typeof NaN);// number  					console.log(typeof false );// boolean  		    typeof可以识别出基本类型boolean,number,undefined,string,symbol,但是不能识别null。  不能识别引用数据类型,会把null、array、object统一归为object类型,但是可以识别出function  所以typeof可以用来识别一些基本类型。 
  • instanceof

     				console.log(bool instanceof Boolean);// false  				console.log(num instanceof Number);// false  				console.log(str instanceof String);// false  				console.log(und instanceof Object);// false  				console.log(nul instanceof Object);// false  				console.log(arr instanceof Array);// true  				console.log(obj instanceof Object);// true  				console.log(fun instanceof Function);// true  				console.log(s1 instanceof Symbol);// false      从结果中看出instanceof不能识别出基本的数据类型 number、boolean、string、undefined、  unll、symbol。    但是可以检测出引用类型,如array、object、function,同时对于是使用new声明的类型,它还可  以检测出多层继承关系 
  • constructor

     				console.log(bool.constructor === Boolean);// true  				console.log(num.constructor === Number);// true  				console.log(str.constructor === String);// true  				console.log(arr.constructor === Array);// true  				console.log(obj.constructor === Object);// true  				console.log(fun.constructor === Function);// true  				console.log(s1.constructor === Symbol);//true  				    null、undefined没有construstor方法,因此constructor不能判断undefined和null。但是他 是不安全的,因为contructor的指向是可以被改变。 
  • Object.prototype.toString.call

     		console.log(Object.prototype.toString.call(bool));//[object Boolean]  		console.log(Object.prototype.toString.call(num));//[object Number]  		console.log(Object.prototype.toString.call(str));//[object String]  		console.log(Object.prototype.toString.call(und));//[object Undefined]  		console.log(Object.prototype.toString.call(nul));//[object Null]  		console.log(Object.prototype.toString.call(arr));//[object Array]  		console.log(Object.prototype.toString.call(obj));//[object Object]  		console.log(Object.prototype.toString.call(fun));//[object Function]  		console.log(Object.prototype.toString.call(s1)); //[object Symbol]  		   此方法可以相对较全的判断js的数据类型。至于在项目中使用哪个判断,还是要看使用场景,具体的选 择,一般基本的类型可以选择typeof,引用类型可以使用instanceof。 

Symbol是干嘛的:

Symbol不是直接存储数据的, 而是, 作为一个独一无二的key, 放置数据的, 防止数据因为重复, 无法存进数据对象中,例如: obj中,存入key为1和‘1’的值, 后面的会把前面的覆盖掉.

二、进阶模块

1.


总结

提示:太忙了,一有时间我就会持续整理,明天又周二了,所以…你懂的

感谢大佬们的支持!!!

javaScript—这些年被面试官问烂了的面试题

版权声明:玥玥 发表于 2021-05-19 6:27:48。
转载请注明:javaScript—这些年被面试官问烂了的面试题 | 女黑客导航