前端JS面试题(自己经验总结)

前端JS面试题

    • POST请求的数据类型
    • 基础数据类型(原始值)
    • typeof和instanceof区别
    • 数据类型转换成boolean
    • this指向问题
    • 闭包

自己经验总结,都是些常见的面试题,也是博主经常问的,收藏不迷路,会持续新增内容。

POST请求的数据类型

1、Content-Type: application/x-www-form-urlencoded (默认的数据类型)
2、Content-Type: application/json  (发送json数据)
3、Content-Type: multipart/form-data  (发送文件或图片)
4、Content-Type: text/xml  (发送xml数据)

基础数据类型(原始值)

string,number,boolean,null,undefined,symbol,bigint

typeof和instanceof区别

typeof能判断所有的基础数据类型,对象全都显示成object,函数全都显示成function
instanceof 通过原型链去判断,能判断出准确的数据类型

数据类型转换成boolean

除了0,-0,‘’,null,undefined,NaN,false转化成false外,其他的都转化成true

this指向问题

1、对于function(),this指向的是window
2、对于object.function(),this指向的是object
3、对于object=new function(),this指向的是object
注意:对于箭头函数没有this,对于bind,bind在谁身上,this就指向谁

闭包

概念:受限于作用域,函数外部不能访问函数内部的变量,闭包就是函数内嵌套函数,通过return,就能够读取其
他函数内部的变量,可以理解为闭包是连接函数内部和函数外部的桥梁。
举个栗子:		
				function one(){
					var food = "apple";
					function two(){
						console.log(food)
					}
					return two
				}
				var run = one()
				console.log(two())  //apple
正常情况下,函数two的作用域仅限于函数one内,应该是访问不到的,但是因为闭包的存在,函数one调用完后将函
数two暴露了出来,并没有被销毁,所以函数two会一直存在。
闭包优缺点:
优点:可以在函数外部访问函数内部的变量;
缺点:因为闭包的变量长期贮存内存中,容易导致内存泄漏和影响性能,解决方法清除不需要的变量。

你可能感兴趣的:(js,面试)