简单代码:JavaScript,未捕获的 ReferenceError:(x) 未定义

Posted

技术标签:

【中文标题】简单代码:JavaScript,未捕获的 ReferenceError:(x) 未定义【英文标题】:Simple Code: JavaScript, Uncaught ReferenceError: (x) is not defined 【发布时间】:2019-11-17 00:32:32 【问题描述】:

我正在尝试运行这段代码,这是我在陀螺仪中选择一些信息然后放在控制台上时的代码,但是错误

Uncaught ReferenceError: Gyroscope is not defined

正在破坏我的项目

尝试运行多次,但总是出现这个问题。

function consol() 

        navigator.permissions.query(name:'gyroscope').then(function(result) 
         );

    

    function le()
        let gyroscope = new Gyroscope(frequency: 60);

        gyroscope.addEventListener('reading', e => 
          console.log("Angular velocity along the X-axis " + gyroscope.x);
          console.log("Angular velocity along the Y-axis " + gyroscope.y);
          console.log("Angular velocity along the Z-axis " + gyroscope.z);
        );
        gyroscope.start();
    

我希望信息出现在控制台日志中,但是出现了这个错误:

未捕获的 ReferenceError:未定义陀螺仪

【问题讨论】:

听起来你从未定义过Gyroscope 我该如何解决这个问题?当我定义时,出现其他错误 还没有定义Gyroscope,这就是问题所在。您希望该变量名称指的是什么? but i defined Gyroscope - 你是怎么做到的? @GuilhermeCosta 你需要阅读sensor api here 的特征检测。你不能只是假设它会可用。 【参考方案1】:

您需要处于安全环境(即 https)中,如 MDN docs 中所述,否则出于安全和隐私原因,导航器将不允许访问设备的传感器。

【讨论】:

以上是关于简单代码:JavaScript,未捕获的 ReferenceError:(x) 未定义的主要内容,如果未能解决你的问题,请参考以下文章

启用“仅我的代码”时,Visual Studio 2015 JavaScript 调试不会捕获未处理的异常

Solidity - “未捕获的类型错误:无法读取未定义的属性‘合同’”

未捕获的 TypeError:javascript 中的非法调用

未捕获的错误:Bootstrap 的 JavaScript 在 Angular 4 上需要 jQuery

jQuery.browser:Javascript 未捕获的类型错误

未捕获的 TypeError:Javascript 中的非法调用(地理位置)