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());