2014-12-13 127 views

回答

0

是的,内部函数变量可以访问外部函数变量,但不是周围的其他方式。很好的澄清问题。下面是访问包含范围内的变量的函数的简单示例。

var name = 'John'; 
 
var Person = function(){ 
 
    this.name = name; 
 
} 
 
var guy = new Person(); 
 
guy.name //John

function a(){ 
 
    var x=10; 
 
    console.log(x); 
 
    return function b(){ 
 
    var y=20; 
 
    console.log(x,y); 
 
    } 
 
} 
 
var x = a(); 
 
console.log('x defined') 
 
x();

尝试运行此看到在JavaScript

+0

对于上述实施例ⅰ具有打印10 20,但是10被印刷在解释的序列而Y没有定义,为什么? – 2014-12-13 19:22:04

+0

javascript会在y定义之前运行console.log(x,y),所以y将被记录为未定义。 如果您运行返回的函数,则y将在该点定义,第二个console.log将会正确记录 – 2014-12-13 20:46:08

相关问题