以下面试题是为了考什么????考基础扎实?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
提交
取消