前端面试题总结
记录在学习过程中遇到的前端面试题
小白-先森
一枚非常普通的计算机专业2020级大学生
展开
-
JS-闭包
一;闭包产生条件: 1.有嵌套函数 2.内部函数引用外部函数的变量(函数) 3.执行外部函数原创 2022-02-26 10:29:53 · 135 阅读 · 0 评论 -
var let const 区别
1.作用域: var声明的变量为全局变量,而 let 和 const 声明的变量具有块级作用域。 2.变量提升: var 存在变量提示,而 let 和 const 不存在变量提示,即 let 和 const 必须先声明后使用。 3.重复声明: var 允许变量重复声明,且后声明的会覆盖的之前声明的,而 let 和 const 是不允许变量重复声明的。 4.值是否允许修改 var 和 let 是允许修改其变量值的,而 const 不允许修改变量值。 5.初始值设置: 在变量声明时,var 和原创 2022-02-23 21:00:15 · 130 阅读 · 0 评论 -
JS中关于this指向的面试题
var length = 100; function fee(){ console.log(this.length); } var obj = { length:10, getLength(cb){ console.log(cb); // 内容为 fee 函数 console.log(arguments); // 为三个传递进来的实参 cb() arguments[0]() } } obj.getLength(f...原创 2022-02-21 21:50:36 · 735 阅读 · 0 评论 -
ES6中Promise使用介绍
一;Promise是一个实例化对象,想要使用Promise需要先 new 进行实例化 二;Promise接收一个回调函数,回调函数中接收俩个参数,一个是 resolve,表示处理成功的结果,另一个是reject,表示失败的结果,其成功或者失败的值会被实例化对象 .then 方法处理,失败的方法也可单独被 catch()处理 三;实例化Promise 注:(1).then方法可以只写第一个成功的回调,接收成功的返回结果 (2)promise 的 resolve 和 reject 只会执行一个,要么原创 2022-02-13 22:11:18 · 386 阅读 · 0 评论 -
JS - e.target 和 e.currentTarget 的区别
e.currentTarget 指向捕获事件的对象; e.target 指向发生这个事件的对象; e.target 返回的是点击的当前元素,而 e.currentTarget 返回的是包括父元素和子元素在内的整体。原创 2022-02-06 14:41:46 · 783 阅读 · 0 评论 -
数据类型相关知识点
堆和栈 栈存放简单数据类型--由系统分配释放 堆存放复杂数据类型--由程序员自己分配释放 简单数据类型 null 返回的是一个空的对象 如果有个变量我们打算存储为对象,暂时没想好放啥 这个时候可以给其赋值为null 简单数据类型 string,number,boolean,undefined,null 存放在栈里面,里面直接开辟一个空间存放的是值,存储的是值本身 复杂数据类型 首先在栈里面存放地址,十六进制表示,创建的变量名指向这个地址,然后这个地址指向堆里面的值 复杂数据类原创 2022-02-06 14:32:15 · 232 阅读 · 0 评论 -
JS-关于作用域和变量提升
var a = 10; (function () { console.log(a); a = 5; console.log(window.a); var a = 20; console.log(a); })() // 因为函数体中 存在 var a = 20 ; 所以函数体内容等价于如下代码 (function () { .原创 2022-02-05 15:11:20 · 571 阅读 · 0 评论 -
JS中arguments的理解
function fn(){ console.log(this.length); } var obj = { length: 5, method: function (fn) { fn(); arguments[0](); } }; obj.method(fn, 1); arguments保存的是一个数组,里面存储的是函数传递进.原创 2022-02-05 14:47:37 · 677 阅读 · 0 评论