获取匿名函数内部变量的引用

时间:2014-11-28 01:16:07

标签: javascript jquery scope

说我正在编写一个greasemonkey / chrome扩展脚本,需要访问一个封闭的匿名方法中的变量,如此

$(document).ready(function() {
    var goldenTreasure = "Tasty Loins";
}

有没有任何的方式我可以获得那个goldenTreasure并给我一些美味的腰部?

注意:我无法编辑上述方法,它在网站上,我的扩展程序需要访问内部的宝藏。

3 个答案:

答案 0 :(得分:0)

将变量定义在外部,然后在里面指定值。

var goldenTreasure;

$(document).ready(function() {
    goldenTreasure = "Tasty Loins";
}

或者另一种方法是将其指定为窗口对象的属性

$(document).ready(function() {
    window.goldenTreasure = "Tasty Loins";
}

答案 1 :(得分:0)

您可以在匿名函数之外声明一个变量,只需将其中一个变量作为其值。 (如果您计划在匿名函数内重用goldenTreasure用于其他目的,请这样做。

var some;

$(document).ready(function() {
    var goldenTreasure = "Tasty Loins";
    some = goldenTreasure;
}

答案 2 :(得分:0)

无法访问闭包内的var,因为它是private variable,技术上隐藏在包含闭包内。只有该闭包内的函数才有权访问它。