请问javascript 中怎么给回调函数传值?
黄舟
黄舟 2017-04-10 15:11:36
[JavaScript讨论组]

例如我要使用geolocation的api,里面有getcurrentlocation方法,如何将外部定义的map传给successCallback内部?

var map = new googleMap
navigator.geolocation.watchPosition(successCallback,errorCallback,options);

function succesCallback(position){//这里position是默认的,我需要将外部定义的map引入,如果我加了新的传入参数会报错。
    map.latitude = position.coords.latitude
    map.longitude =  position.coords.longitude
}

期待解答

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(4)
怪我咯
var app = {
    getGeoLoc : function (id) {
        var self = this;
        navigator.geolocation.getCurrentPosition(function(position) {
            var myVar1, myVar2, myVar3;
            self.foundLoc(position, self, myVar1, myVar2, myVar3)
        }, this.noloc, { timeout : 3});
    },
    foundLoc : function(position, self, myVar1, myVar2, myVar3) {},
};
阿神

亲,你这样写的代码就可以完成你的要求(不谈这样写好不好的问题)

巴扎黑
var map = new googleMap

map 是在全局作用域,回调函数 succesCallback 能访问 map 的。

黄舟

sucessCallback.bind(null, /* 你想传的值 */map);

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号