geoTest 函数 - 创建 if/else 语句

Posted

技术标签:

【中文标题】geoTest 函数 - 创建 if/else 语句【英文标题】:geoTest function - creating an if/else statement 【发布时间】:2016-05-08 04:41:32 【问题描述】:

我需要一些帮助来调整此代码。

任务要求我声明一个名为 geoTest() 的新函数。 它应该包含一个 if/else 语句来检查 navigator .geolocation 属性的值。如果值是真的,该函数应该调用 getCurrentPosition() 方法,成功时运行 createMap() 函数或失败时运行 fail() 函数。如果 navigator.geolocation 的值是假的,该函数应该调用 fail() 函数。

-超时来自另一个步骤。

这是我的代码:

function geoTest() 
    var waitForUser = setTimeout(fail, 10000);
    if (navigator.geolocation) 
        navigator.geolocation.getCurrentPosition(createMap());
     else 
        fail();
    

谢谢。

【问题讨论】:

【参考方案1】:

您需要将回调函数传递给getCurrentPosition。要将函数作为参数传递,请使用函数名称在其后放置括号(括号使其立即调用函数并将返回值传递给函数)。

说明说如果getCurrentLocation() 失败则调用fail(),但您在navigator.geolocation 未设置时调用它。 getCurrentLocation() 有第二个回调函数,失败时会调用。

function geoTest() 
    var waitForUser = setTimeout(fail, 10000);
    if (navigator.geolocation) 
        navigator.geolocation.getCurrentPosition(createMap, fail);
    

您的任务与 getCurrentPosition 的 MDN 文档中显示的示例几乎相同。

【讨论】:

以上是关于geoTest 函数 - 创建 if/else 语句的主要内容,如果未能解决你的问题,请参考以下文章

第3弹;流程控制

第四课总结

语句 if else

pgSQL的语法错误,使用函数和if else

如何使用 if、else、elsif 语句创建 Terraform?

PHP 结构语句