以下面试题是为了考什么????考基础扎实?function Foo(){ getName = function(){return 1;} return this;}Foo.getName=function(){return 2;}Foo.prototype.getName=function(){return 3;}var getName=function(){return 4;}function getName(){return 5;}//以下内容会输出什么?console.log(Foo.getName())console.log(getName());console.log(Foo().getName());console.log(getName());console.log(new Foo.getName());console.log(new Foo().getName());console.log(new new Foo().getName());
1 回答
繁华开满天机
TA贡献1816条经验 获得超4个赞
考察你对this、原型链、函数对象、函数声明提前等一系列知识。
出这样的面试题是希望你能有一个对已有知识的整合能力,当初我在面试的时候也试过被面试官提了一个整合了ajax请求与事件轮询相结合的问题,问的是把ajax请求设为同步请求(async设为false),然后在其回调函数以及ajax请求代码的下一行各放一个方法调用,问哪个先执行,当时还不懂事件轮询的原理直接蒙逼了。
在实战中,更多时候你会接触多方面技术相结合的问题,那么你的思维方式就应该从原来的一元转变成二元或者多元。很典型的就是javascript面向对象设计,要真正做好这方面的技术,你要把函数对象、原型链、闭包、this等一系列的知识糅合到一起,才能算是开始起步。
添加回答
举报
0/150
提交
取消
