函数参数javascript作用域

函数参数javascript作用域,javascript,scope,params,Javascript,Scope,Params,我有这段代码 function showOpenMaps(position,located){ jQuery.ajaxSetup({ cache:true }); jQuery.getScript("http://www.openlayers.org/api/OpenLayers.js") .done(function (script, textStatus) { $(".geocoder").show();

我有这段代码

function showOpenMaps(position,located){
    jQuery.ajaxSetup({
        cache:true
    });
    jQuery.getScript("http://www.openlayers.org/api/OpenLayers.js")
        .done(function (script, textStatus) {
            $(".geocoder").show();
            $("#map_canvas").html("");
            var fromProjection = new OpenLayers.Projection("EPSG:4326");   // Transform from WGS 1984
            var toProjection = new OpenLayers.Projection("EPSG:900913"); // to Spherical Mercator Projection
            var position = new OpenLayers.LonLat(position.coords.longitude, p....
        }

我的参数位置未定义,但在
getScript
调用之外它是正常的。有什么想法吗?是否与范围相关?

向我们展示所有相关代码如何?特别是如果问题出在
position
上,在那里裁剪代码是个坏主意。我建议阅读匿名函数的闭包和变量范围。
var position=…position.coords.longitude
。您似乎有两个
位置
变量。一个来自闭包,一个来自本地作用域。它只是在那一行中没有定义。@NestorPs:事实上,它是定义的(
var position
),否则它将引用函数参数。只是还没有分配给。