五个典型的javascript面试题

a 被打印了,它存在函数之中(也就是声明了),但是依然是 undefined 。换言之,上述代码和以下代码是相同的。

function test() {   var a;   function foo() {      return 2;   }   console.log(a);   console.log(foo());   a = 1;}test();

问题4: this 在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