你好,欢迎来到长沙北大青鸟科泰IT梦想学院!

教育改变生活,科泰成就梦想!

400-696-8028
热门课程
当前位置:首页 >学院新闻 > 行业动态 >

5个经典的JavaScript面试题

时间:2015-10-19 来源:科泰教育

 在IT界中公司对JavaScript开发者的要求还是比较高的,但是如果JavaScript开发者的技能和经验都达到了*定的级别,那他们还是很容易跳到优秀的公司的,当然薪水就更不是问题了。但是在面试之前,面试准备也应该足够的充分,毕竟不是每个优秀的开发者都能在短时间内表现自己。在这篇文章中,我将会列出5个常见的前端开发面试题。看到这里你证明你*定是个程序员或是HR了,不防把文章看完,了解*下自己还有什么不足之处,有什么问题希望大家可以在留言中交流。

问题1: 作用域
看*下下面的代码:
(function() {
   var a = b = 5;
})();
console.log(b);
结果会输出什么?
答案:5
这个问题考查的要点是两个不同的作用域,'a'被var声明成了*个局部变量,但是'b'实际上没有被定义,所以它是*个全局变量。
这个问题还牵扯到另个*个比较重要的问题,就是strict mode,如果你选择了strict mode,上面的代码就会报Uncaught ReferenceError,因为b没有被定义,它可以帮你检查出代码的*些问题:
(function() {
   'use strict';
   var a = window.b = 5;
})();
console.log(b);
问题2: 创建“native”方法
写*个重复打印字符串对象的方法,输入*个整数,这个整数代表重复打印的字数,比如:
console.log('hello'.repeatify(3));
这样会打印出hellohellohello。
答案:
其中*种实现方法是这样:
String.prototype.repeatify = String.prototype.repeatify || function(times) {
   var str = '';
   for (var i = 0; i < times; i++) {
      str += this;
   }
   return str;
};
这个问题考查的是开发者对JavaScript继承和prototype属性的了解程度。
Question 3: Hoisting
下面这段代码的输出结果是什么?
function test() {
   console.log(a);
   console.log(foo());
   
   var a = 1;
   function foo() {
      return 2;
   }
}
 
 
test();
答案
undefined和2。
上面的代码和下面这段是等效的:
function test() {
   var a;
   function foo() {
      return 2;
   }
   console.log(a);
   console.log(foo());
   
   a = 1;
}
test();
问题4: 在JavaScript中如何执行
通过下面的代码给出结果,解释*下你的答案:
var fullname = 'John Doe';
var obj = {
   fullname: 'Colin Ihrig',
   prop: {
      fullname: 'Aurelio De Rosa',
      getFullname: function() {
         return this.fullname;
      }
   }
};
console.log(obj.prop.getFullname());
var test = obj.prop.getFullname;
console.log(test());
答案:
Aurelio De Rosa 和John Doe。
问题5: call() 和 apply()
解决前面的问题之后让*后*个console.log()输出Aurelio De Rosa.
答案:
这个问题在于call()还是apply()。 如果你不知道它们之间的区别,我建设你先读*读 What’s the difference between function.call and function.apply? 下面这行代码我使用了call(),但是这个情况下apply()也会产生同样的结果:
console.log(test.call(obj.prop

  1. 上一篇: 十大面试问题解惑,秒杀一切HR、技术面试
  2. 下一篇: .net开源?!微软到底走的哪步棋?

相关推荐:

最新开班
课程名称 报名截止 报名人数
高中起点学习班 即将开班 热招中
企业委培订制班 即将开班 热招中
私人名师辅导班 即将开班 热招中
待业速找工作班 即将开班 热招中
热门信息