
面试题
文章平均质量分 82
柒丶月
这个作者很懒,什么都没留下…
展开
-
每日亿题(面试题)
Object.prototype.toString.call() 、 instanceof 以及 Array.isArray()1.Object.prototype.toString.call ,主要是通过继承Object.toString方法同时改变toString方法的执行上下文,获取判断的类型,可以判断所有的数据类型,包括undefined、null等2.instanceof 通过原型链判断实例对象是否在某个构造函数的原型链上, 但是instanceof无法判断基础类型。原创 2023-01-20 09:00:27 · 847 阅读 · 0 评论 -
Js面试通
Javascript面试通js中有哪些基本数据类型StringbooleannumberundefinedObjectSymbolnullllet、var、const之间的区别let和var的区别主要在于作用域let是块级作用域,var是函数作用域这里要先提一下变量提升 console.log(a); //undefined 这里变量还未声明就已经存在了 var a = 10;变量提升是源于引擎的编译顺序,这里简单说一下,其实var声明变量执行循序是这样的原创 2021-03-20 10:32:50 · 275 阅读 · 0 评论 -
react面试通(持续更新2021年3月19日09:39:56)
React面试百题通小编比较追求原理可能有些枯燥,乏味还望读者见谅,但是看一下总对技术提高有好处。Virtual Dom和Real Dom的区别分析减少dom操作操作dom消耗是非常大的,虽然有可能读者没有感觉到,但是你如果想象一下你有10000个dom节点,通过浏览器提供api就需要操作10000次,但是虚拟dom只需要一次更新区域最小化虚拟dom会通过diff算法,对比前后两次dom树的区别,从而更新最小范围的dom元素在某种情况下虚拟dom性能比真实dom快Diff算法原创 2021-03-19 09:40:10 · 223 阅读 · 2 评论 -
Es6之Proxy
ProxyProxy(代理):可以理解成对一个对象设置一个拦截用法:var proxy = new Proxy(target, handler);参数:target:是要处理的对象handle:是拦截的行为其实Proxy和set和get很像,但是他不针对一个属性,如果你了解get和set了解这个应该不困难 let obj = new Proxy({},{ get: function(){ console.log("触发了get"); return 10; }原创 2020-08-29 18:45:31 · 371 阅读 · 0 评论 -
js中call、apply、bind详解和区别
首先这三个参数都是用于改变this的指向 let obj = { name:'张三', age:18, func:function(){ console.log(this.name + "年龄" + this.age); } } let obj2 = { name:'李四', age:20 } obj.func.call(obj2) //李四年龄20 obj.func.apply(obj2); //李四年龄20 obj.func.bin原创 2020-08-29 13:28:11 · 246 阅读 · 0 评论 -
generator函数(含面试题)
generator函数generator函数是es6提供的一种异步编程解决方案,这个方法比较抽象。generator函数可以返回多次的函数看看下面这个例子你就很容易明白如果一个普通函数要返回1-10就只能使用数组或者其他方式存储和generator就可以一次次返回 function* add() { for(let i =0; i<10; i++) { yield i; } } let a = add(); console.log(a.next()); //原创 2020-08-29 08:58:49 · 725 阅读 · 0 评论 -
Es6数组扩展
扩展运算符 …示例console.log(...[1,2,3]);console.log([1,2,...[3,4,5]]);function add(x) { console.log(...(x>0?[1,2,3]:[4,5,6])); }add(10)ES5和ES6的扩展运算符区别 let arr = [1,2,3]; function add(a,b,c){ console.log(a+b+c); } //es5 add.apply(null,arr原创 2020-08-24 14:03:30 · 229 阅读 · 0 评论 -
es6解构练习题含答案
数组解构第一题function getNum (){ return 6;}let [a = getNum()] = [,]; //a=?第二题var [x = 1,y=x] = [undefined,2];//x =? y = ?console.log(x,y);var [x = 1,y=x] = [null,2];//x =? y = ?console.log(x,y);第三题let [a,[b = 2,[c,d]],e] = [1,[undefined,[原创 2020-08-23 10:59:49 · 1241 阅读 · 3 评论 -
你不知道的javascript(1)
你不知道的javascript首先我们看来两段代码: function func(){ b=2; } func(); console.log(b); //b=2function func(a){ return a +b; } func();为什么第一段代码也没有声明变量但却没有报错,而第二段代码缺报错了,网上很多解释是说如果没有带var会自动在windows声明一个全局变量并且赋值,但是并没有告诉我们底层原理,那么今天我就来看看到底为什么会这样吼吼那就要原创 2020-08-22 15:03:48 · 203 阅读 · 0 评论 -
js执行上下文
概念执行上下文(Execution context简称EC)是代码执行是创建的运行环境执行上下文类型全局执行上下文函数执行上下文Eval函数执行上下文(不常用)全局执行上下文每个程序中只有一个全局上下文在浏览器中全局上下文是 window在nodeJs中全局上下文是global在全局执行上下文就是创建全局对象,并且让this指向全局对象函数执行上下文每当函数的时候就会创建一个函数执行上下文函数执行上下文可以有多个同一个函数被调用多次,每次都会创建一个函数执行上下文原创 2020-08-22 14:43:46 · 145 阅读 · 0 评论 -
let、var、const之间的区别
let、var、const之间的区别let是es6的新语法,用来局部变量和 var类似但是 let只在代码块里有效,也就是块作用域变量提升 是什么意思这里很多小伙伴会理解错var a = 10; func(); function func(){ console.log(a); //这里输出 undifined var a = 10; console.log(a); // a=0}很奇怪这里为什么是 undifined 这就是变量提升上面的代码等原创 2020-08-21 20:13:20 · 603 阅读 · 0 评论