<br>咨询热线:13764354059 张老师 微信同电话<br><br>【学校地址】上海市松江区乐都路251号乐都大厦3楼上元教育松江分校<br><br>【地铁路线】:地铁9号线松江体育中心站下,2号口出<br><br>【公交路线】:乘坐松江28路、23路、17路、2路公交到乐都路九峰路站下<br><br><div><br></div><div>上元IT-Web前端面试题(二)<br><br>1、请列出js中基本的数据类型。<br> Number、String、Boolean、null、undefined、Array、Object<br>2、在JS中哪些内置对象?<br>Date、RegExp、Math <br>3、let、const、var的区别是?<br>let、const、var都是定义变量的关键字<br><br> 区别:主要在于作用域(即变量可以使用范围的定义,如果超出此范围就无法使用,也会报错)<br> var定义变量的作用域为局部作用域与全局作用域<br> let、const定义变量的作用域为块级作用域<br> let、const的区别是let定义变量,const定义常量<br><br>4、“===”和“==”的区别是?<br> ===:先比较类型,再比较值,类型相同时,再比较值,类型不同,直接false<br> ==:先进行隐式转换,再比较值是否相等<br><br>5、什么是闭包?<br> 闭包就是能够读取其他函数内部变量的函数<br> 如何形成闭包:<br>1、函数套函数,至少有两层函数<br>2、外层函数最少要干三件事<br>1、提供至少一个局部变量,注意,我没有说“定义变量”,因为变量除了定义,还有一种情况是通过参数传递进来,不需要定义。这个变量在外层函数执行完毕之后不能被销毁,销毁就不叫闭包<br>2、定义至少一个内层函数<br>3、将内层函数返回给调用外层函数的作用域里的变量或者函数 <br>4、内层函数至少要干一件事:定义真正的执行语句。用的时候用内层函数<br> 闭包会使变量不被销毁而长期存在于内存中,所以因尽量少使用闭包<br>6、数组方法pop()、push()、unshift()、shift()分别有着什么样的作用?<br> pop() 用于删除并返回数组的最后一个元素<br> push() 可向数组的末尾添加一个或多个元素,并返回新的长度<br> unshift() 可向数组的开头添加一个或更多元素,并返回新的长度<br> shift() 用于把数组的第一个元素从其中删除,并返回第一个元素的值<br><br>想了解更多关于前端面试题,欢迎随时来上元IT咨询!!<br></div>