这次面试脑子跟糊掉了一样,整个人也没睡醒,状态也差得很,丢死人了,好几个都回答错了[无语子][无语子]倒是非常感谢面试官,让我发现我自己没掌握的地方1个小时,出了7道题8道题的样子1、this判断function makeStudent() {    console.log('this', this);    return {        studentName: 'xiaoming',        ref: this,    }}let student = makeStudent();console.log(student.ref, student.ref.studentName)//window undefinedlet student2 = new makeStudent()console.log(student2.ref, student2.ref.studentName)//makeStudent{}  undefined补充:如何让student.ref.studentName打印xiaoming呢?我个人觉得可以把ref写成方法的形式,不知道有没有别的2、写一个类,有一个this.z=[1,2,3,4,5] 有一个方法sayHello,要求obj.sayHello调用一次打印1,再调用一次打印2...【我猜到面试官应该是想考我迭代器,然而我也糊涂了,直接写了个this.z[i++]了】class Hello{  constructor(){  this.z=[1,2,3,4,5]  }  sayHello(){ console.log(this.z)  }}const obj=new Hello()const {sayHello}=objsayHello()面试官问我这样子解构可以吗,我说可以啊,面试官说会报错,我当时蒙了,我说obj身上有sayHello属性啊,面试官让我自己去查(后面了解到解构是不会报错的,但是调用会报错,因为此时es6开启了严格模式,解构后this指向undefined,undefined没有z属性,所以报错)3、给你s毫秒,转为x年x月x天x日x时x分x秒的形式(写不出,说了下思路)4、fetch api封装一个网络请求函数(我当时脑子也蒙了,说是封装,结果url、methods什么的都不传,全给他写死,面试官说我没有封装思维,我其实只是当时脑子糊住了,我平常写代码不这样的)5、import的循环引用看输出【这个题总算是答对了】a.js:console.log('a starting');exports.done = false;const b = require('./b.js');console.log('in a, b.done = %j', b.done);exports.done = true;console.log('a done');b.js:console.log('b starting');exports.done = false;const a = require('./a.js');console.log('in b, a.done = %j', a.done);exports.done = true;console.log('b done');main.js:console.log('main starting');const a = require('./a.js');const b = require('./b.js');console.log('in main, a.done = %j, b.done = %j', a.done, b.done);//请输出打印结果:main startinga startingb starting    in b, a.done falseb done    in a, b.done truea done    in main, a.done = true, b.done = true6、写一个正则,让我选出html或css,re.test('htmla')返回true,re.test('css')返回true,re.test('js')返回false我正则语法也有点忘记了,我直接写了个let re = new RegExp('html|css')console.log(/[html|css]/.test(a))//应该把方括号改成花括号就对了//利用正则提取方法和参数,下面这个要求拿到SayHi和argsconst str = 'obj.someMethod.sayHi(args)'let re = /\.(\w+)\((\w+)\)/console.log(str.match(re))7、考了个react写一个组件8、只能使用flex布局,不能用定位或者别的,要求1和2在box水平垂直居中,3在右上角(这个题我现在还是不会,我知道可以给3加align-self为flex-start让他在上面,但是不知道如何弄到右边去)/*可以假设1 2 3都是100px高宽*/<div class="box">    <div>1</div>    <div>2</div>    <div>3</div></div>[赞][赞][赞][赞]还是非常感谢面试官!
点赞 5
评论 5
全部评论

相关推荐

06-07 17:17
嘉兴学院 教师
心爱的idea:你孩
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务