js面试题
steamedbread321
菜鸟的web前端记录易错点
展开
-
每日面试题【8.16】===原型链知识点
今天的面试题是一道关于原型链的易错面试题。在开始之前呢,我们先要知道。原型链中查找是按照原型链查找的,如果在自己身上就有那个值,那么就直接取那个值,没有的话就往上查找。直到找到,如果没有就报错。陷阱:如果自身是this那么new出来的肯定就有那个值,但是自身的是普通的声明变量。那么就要往上面查找直到找到为止。简简单单先来第一道简单的面试题: function A() { this.do = function () { return 'foo'; };原创 2020-08-16 20:59:52 · 193 阅读 · 0 评论 -
异步任务执行机制【附赠经典面试题】
先把运行机制弄清楚(1)Promise中的代码是被当做同步任务立即执行的,then 则会被分发到 microtask 的 Promise 队列中去(2)await后面的表达式会先执行一遍,将await后面的代码加入到microtask中,然后就会跳出整个async函数来执行后面的代码。(3)settimeout时间是0 在window里面也是宏观的(4)只要是settimeout就是宏任务不管是不是满足前两点。(5)如果宏任务中settimeout的时间不一致需要满足异步操作切记一点:这里不管宏原创 2020-08-15 16:17:46 · 121 阅读 · 0 评论 -
每日一道易错面试题【8.3】
每日一道易错面试题8【8.3】原创 2020-08-03 22:28:39 · 129 阅读 · 0 评论 -
7.30面试题
题目:将 ‘10000000000’ 形式的字符串,以每 3 位进行分隔展示 '10.000.000.000’ let reg = /(\d)(?=(\d{3})+\b)/g let str = '1000000'; let a = str.replace(reg, '$1,') console.log(a);这里的正则表达式需要注意?=表示前面的对象后面紧接着,就拿上面的正则表达式来说,\d后面紧接着三个数字和一个字符边界因为是+则三原创 2020-07-30 22:30:58 · 108 阅读 · 0 评论 -
7.29JavaScript面试题
function Foo() { Foo.a = function () { console.log(1) } this.a = function () { console.log(2) } } Foo.prototype.a = function () { console.lo...原创 2020-07-29 09:01:23 · 91 阅读 · 0 评论 -
声明提升面试题【陷阱】
先来代码: var fn1 = 'ivan'; var name = 'good'; var fn1 = function (y) { y(); } function fn1(x) { x(name); } function fn2(x) { console.log(x); console.log(na原创 2020-07-28 09:04:17 · 139 阅读 · 0 评论 -
function op(){ let num =10;let obj = {add:function经典面试题【有坑】
先上代码: function op(){ let num =10; let obj = { add:function(){ return num++; }, sub:function(){ return num--; },原创 2020-07-28 08:35:46 · 411 阅读 · 0 评论 -
JavaScript中this指向问题经典练习题加this规律
在这之前我们要先了解几条法则,了解以后对this的问题就会迎刃而解对象方法的内部函数的this指向window(非对象中的方法)对象的方法内,this指向对象对象中的this指向window严格模式下(use strict)对象中禁止this关键字指向全局对象,此时的this是undefined如果此时出现this.a就会报错,因为undefined不能田间属性。如果说方法中的回调函数(就是方法return的值)是箭头函数,根据箭头函数的特点,他的this指向应该是根据上面的this指向来判断的原创 2020-07-26 14:10:55 · 688 阅读 · 0 评论