javascript - 变量变成函数

标签 javascript

我在这里缺少什么?这看起来很简单,但我不明白为什么第二个警报显示 var id“未定义”

<input type='button' class='getLoc' id=‘s13' value=‘s13’>
<script>
$(function(){
    $('.getLoc').click(function(){
        var id = $(this).attr('id');
        alert(id); //<-- shows s13
        navigator.geolocation.getCurrentPosition(function(position,id){
            var lat = position.coords.latitude;
            var lon = position.coords.longitude;
            alert(lat+","+lon+","+id); //<-- shows undefined for id
        });
    });
});
</script>

最佳答案

这是因为你包含了 id作为回调函数的参数。这就是id那你的alert()将引用,并且由于只有一个参数传递给回调,因此值为 undefined .

应该是这样

        navigator.geolocation.getCurrentPosition(function(position){

关于javascript - 变量变成函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34342003/

相关文章:

javascript - Angular JS/Ui 路由器 - 在 StateParams 中发布图像 URL

javascript - 使用 jQuery 检查 ID 是否存在

javascript - 使用 JavaScript 设置 Neo4j

javascript - 向 Flask 应用程序发出 AJAX 请求

javascript - 如何从左侧而不是从顶部滑动导航栏?

javascript - Firebase 函数异步方法返回未定义

javascript - 如何用javascript中的字符替换所有空行?

javascript - 为什么 TypeScript 会在 IIFE 中打包一个类?

javascript - Firefox 重绘非常慢(5 秒)

javascript - 如何将这个 Javascript 包装为一个函数?