从内部函数访问变量

时间:2012-04-27 18:47:30

标签: javascript

    var urihost;
var result =  page.evaluate(function () {
        ............
        "set urihost value from here"
        ............
});

如何从内部函数访问urihost,使其全局无效

小提琴:http://jsfiddle.net/KGLzj/

2 个答案:

答案 0 :(得分:0)

它应该工作得很好但我看到你有一些看起来像回调函数。分配结果后,urihost可能还没有值 - 因为尚未调用回调函数,并且尚未为urihost分配值。

你可以发布更多代码吗?

答案 1 :(得分:0)

我可能会误解你的问题...

但您的代码应该按原样运行,请参阅 this fiddle

// Setup page object:
var page = {
    evaluate: function(func) {
        // Don't forget to call the function...
        func();
    }
};

// The variable you want to change:
var urihost = 1;

// Execute now...
var result = page.evaluate(function () {
    urihost = 2;
});

// The alerted result will be 2
alert(urihost);​