前端面试题
李卓书
这个作者很懒,什么都没留下…
展开
-
前端面试题-js作用域链
文章目录知识点面试题推论及注意事项知识点1 作用域链是相对于作用域来说的,作用域的相关前端面试题见:https://blog.csdn.net/wangbiao9292/article/details/1171370962 作用域的分类:全局作用域,声明的时候创建GO对象函数作用域,声明的时候创建AO对象块级作用域,es6最新引入的面试题1推论及注意事项...原创 2021-07-01 14:03:03 · 438 阅读 · 0 评论 -
前端面试题-call,apply,bind
文章目录知识点面试题推论及注意事项知识点1 call用法function.call(thisArg, arg1, arg2, …)2 apply用法func.apply(thisArg, [argsArray])3 bind用法function.bind(thisArg[, arg1[, arg2[, …]]])面试题1 相同点及不同点call.apply会立即执行,bind不会立即执行call,apply传参不同2 常用应用方法将伪数组转成数组(说白了就是把数组的方法给伪数原创 2021-06-20 14:02:01 · 135 阅读 · 0 评论 -
前端面试题-BFC的理解
文章目录知识点面试题推论及注意事项知识点1 什么是BFC2 BFC的作用3 常见的创建BFC的方式解答:1 什么是BFCBFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。深度解释:参考文档:https://blog.csdn.net/sinat_36422236/article/details/887631原创 2021-06-20 13:18:25 · 314 阅读 · 0 评论 -
前端面试题-typeof/instanceof
文章目录知识点面试题推论及注意事项知识点基本数据类型:sbnnu string boolean number null undefined引用数据类型: Array Function Object (Date/RegExp)面试题推论及注意事项typeof只适用于检测除null的基础数据类型和函数类型instanceof用于检测除object之外的所有实例x. constructor==Object用于检测object的实例万不得已动用Object.prototype.toStrin原创 2021-06-17 15:07:19 · 256 阅读 · 0 评论 -
前端面试题-深拷贝、浅拷贝
文章目录知识点面试题推论及注意事项知识点前置条件:深浅拷贝主要是针对引用类型数据,基本数据类型都是深拷贝浅拷贝:拷贝的数据在值更改后,会影响原来的数组或者对象深拷贝:拷贝的数据在值更改后,不会影响原来的数组或者对象面试题说说深拷贝和浅拷贝的区别举例说明深拷贝:可见,简单的等于,是浅拷贝var obj1 = { name: "小王", age: 13, info: { parents: "父亲",原创 2021-06-17 14:54:14 · 1060 阅读 · 1 评论 -
前端面试题(es6+) -- 迭代器 iterator
常见的循环1 for循环2 for-in循环主要用于遍历对象3 for-of循环用以遍历所有的数据结构的统一方法4 for-each循环对数组的所有成员依次执行参数函数5 map循环将数组所有成员一次传入参数函数,然后把每次的结果组成一个新数组返回6 filter循环用于过滤数组成员,将满足条件的数组成员组合成一个新数组返回,不会改变原数组还有不怎么常用的some、every、while、do–while、reduce、reduceRight我们看下数据类型number str原创 2021-06-10 16:36:52 · 372 阅读 · 0 评论 -
前端面试题(es6+) -- symbol
//声明let s = Symbol();let s1 = Symbol('hello world'); 可以传入描述字符串let s1- = Symbol('hello world'); 可以传入描述字符串let s2 = Symbol.for("i am");let s3 = Symbol.for("i am");s2 === s3 trues1 === s1- false特性1 不能与其他数据进行运算基本类型sbnnustring boolean number null原创 2021-06-10 09:40:18 · 297 阅读 · 0 评论 -
前端面试题(es6+) -- 扩展运算符、rest参数
function add(a,b,...args){ console.log(a); console.log(b); console.log(args); //[a,b,...]}特性:1 rest参数输出的是一个数组2 arguments是一个对象扩展运算符 ...一般用来:1 解析数组为参数序列...[a,b,c] ⇒ a,b,c 这里是本质2 数组合并3 数组克隆4 维数组转换为真数组...原创 2021-06-09 17:33:50 · 226 阅读 · 0 评论 -
前端面试题(es6+) -- let/const/作用域/箭头函数
块级作用域、全局作用域、函数作用域、eval{}letconstfunction(){}let特性:1 let为块级作用域2 let不能重复声明3 没有变量提升(跟函数表达式一样,先声明才能使用)4 不影响作用域链const特性:1 值不能改变2 必须要有初始值3 对数组和对象的元素修改,不算是对常量的修改箭头函数:let fn = (a,b)=>{return a+b;}特性:1 this是静态的,始终指向函数声明时的作用域2 没有arguments,可以用原创 2021-06-09 14:45:15 · 90 阅读 · 0 评论 -
前端面试题-js作用域的理解
文章目录知识点面试题推论及注意事项知识点1 全局作用域和函数作用域(es6引入了块级作用域{})2 在全局作用域中会进行预编译,创建GO对象,在函数内部创建AO对象;有关作用域及作用域链的问题,我认为是前端必须掌握的,这里推荐下一个博客,写的不错;https://www.cnblogs.com/jinfeixiang/p/10055113.html面试题var a =12; function fn(){ console.log(a); var a=45;原创 2021-05-22 00:35:56 · 554 阅读 · 0 评论 -
前端面试题-箭头函数中的this
文章目录知识点面试题推论及注意事项知识点1 箭头函数中this就是父作用域的this面试题 var x=11; var obj = { x:22, say:()=>{ console.log(this.x) } } obj.say(); /** * 过程讲解 * 1 obj.say()调用后,this相当于父作用域的this; * 我们知道,针对函数,谁调用thi原创 2021-05-22 00:02:00 · 312 阅读 · 0 评论 -
前端面试题--this指向
文章目录知识点面试题推论及注意点知识点谁调用就指向谁面试题var name = 222; var a = { name: 111, say: function () { console.log(this.name) } } var fun = a.say fun() a.say() var b = { name: 333, say: function原创 2021-05-18 01:12:00 · 260 阅读 · 0 评论 -
前端面试题--预编译
文章目录知识点面试题推论及注意事项知识点预编译4步:1 创建AO对象2 找形参和变量声明3 实参和形参统一4 找函数声明,并覆盖变量声名面试题function fn(a,c){ console.log(a) var a = 123 console.log(a) console.log(c) function a(){ if(false){原创 2021-05-18 00:52:42 · 198 阅读 · 0 评论