GVKun编程网logo

类构造函数中的“未捕获的ReferenceError:未定义”(未捕获类型错误,无法读取未定义属性)

5

此处将为大家介绍关于类构造函数中的“未捕获的ReferenceError:未定义”的详细内容,并且为您解答有关未捕获类型错误,无法读取未定义属性的相关问题,此外,我们还将为您介绍关于android–P

此处将为大家介绍关于类构造函数中的“未捕获的ReferenceError:未定义”的详细内容,并且为您解答有关未捕获类型错误,无法读取未定义属性的相关问题,此外,我们还将为您介绍关于android – PhoneGap错误 – “未捕获的ReferenceError:未定义cordova”、android-未捕获的ReferenceError:未定义FileTransfer(使用cordova 2.7.0)、Angular 5 – 未捕获的ReferenceError:未定义req、AngularJS&Jasmine / Karma – 未捕获的ReferenceError:未定义require的有用信息。

本文目录一览:

类构造函数中的“未捕获的ReferenceError:未定义”(未捕获类型错误,无法读取未定义属性)

类构造函数中的“未捕获的ReferenceError:未定义”(未捕获类型错误,无法读取未定义属性)

我正在使用JavaScript / ES6中的新功能。我的Uncaught ReferenceError: this is notdefined(...) player.js:5代码中有一个。据我所知,这里没有错误!这是一个错误吗?任何解决方法?

index.html

<html>    <head>        <script type="text/javascript" src="js/entity.js"></script>        <script type="text/javascript" src="js/player.js"></script>        <link href="css/style.css" rel="stylesheet" type="text/css">        <title>Test</title>    </head>    <body>        <canvas id="screen" width=500 height=500></canvas>        <script type="text/javascript">initialize();</script>    </body></html>

实体.js

"use strict";class Entity {    constructor() {        console.log("Entity");    }}

player.js

"use strict";class Player extends Entity {    constructor() {        console.log("Created"); // <- error here    }}

答案1

小编典典

这是新类语法的事实。您的子类需要调用super()才能正确初始化该类,例如

super(arg1, arg2, argN);

带有父构造函数所需的任何参数。

要求,如果执行到达constructor函数的末尾,则this需要将值初始化为某种值。您可能需要在一个基类(这里this是自动初始化的),都称为super()所以this被初始化时,或return编替代对象。

class Player extends Entity {  constructor() {    super();    console.log("Created"); ;// error here  }}

您可以将其想像为在其末尾constructor具有自动功能的函数return this

android – PhoneGap错误 – “未捕获的ReferenceError:未定义cordova”

android – PhoneGap错误 – “未捕获的ReferenceError:未定义cordova”

我正在尝试使用Android上的菜单按钮和PhoneGap.问题是我无法使用它,因为在日志中出现此错误:

“未捕获的ReferenceError:未定义cordova”.

这是来源:

<!DOCTYPE html>
<html>
    <head>
            <!--<script type="text/javascript" charset="utf-8" src="js/cordova-2.6.0.js"></script>-->
            <!--<script type="text/javascript" charset="utf-8" src="cordova-2.6.0.js"></script>-->
            <!--<script type="text/javascript" charset="utf-8" src="js/cordova.js"></script>-->
            <script type="text/javascript" charset="utf-8" src="cordova.js"></script>

            <script type="text/javascript">
                function onl oad() {
                    document.addEventListener("deviceready", function () {
                        document.addEventListener("menubutton", function(){
                            alert('Menu button pressed.');    
                        }, true);
                    }, false);
                }
            </script>

    </head>
    <body onl oad="onLoad()">
            <p>Hello World!</p>
        </body>
</html>

我认为问题是导入cordova.js,所以我尝试使用所有评论的选项.

我不知道是否有任何关系,但我一直启动脚本,在控制台中出现此错误,红色:

E/webview(21743): registerForStylusPenEvent onAttachedToWindow
E/webview(21743): registerForStylusPenEvent START
E/webview(21743): registerForStylusPenEvent END

如果有一些英语错误,我很抱歉,但我正在尝试没有谷歌翻译.

谢谢.

解决方法:

首先请检查cordova.js的路径和文件名是否正确.然后删除onLoad事件并在脚本文件中写入deviceready事件挂钩,如下所示:

<!DOCTYPE html>
<html>
  <head>
    <!--<script type="text/javascript" charset="utf-8" src="js/cordova-2.6.0.js"></script>-->
    <!--<script type="text/javascript" charset="utf-8" src="cordova-2.6.0.js"></script>-->
    <!--<script type="text/javascript" charset="utf-8" src="js/cordova.js"></script>-->
    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript">
      document.addEventListener("deviceready", function () {
        document.addEventListener("menubutton", function() {
          alert('Menu button pressed.');
        }, true);
      }, false);
    </script>
  </head>
  <body>
    <p>Hello World!</p>
  </body>
</html>

android-未捕获的ReferenceError:未定义FileTransfer(使用cordova 2.7.0)

android-未捕获的ReferenceError:未定义FileTransfer(使用cordova 2.7.0)

我想使用FileTransfer从Web服务器下载文件,代码如下:

  function downloadFile(url) {
     var fileTransfer = new FileTransfer();
     var uri = encodeURI(url);
     var filepath="www/download/";

     fileTransfer.onprogress = function(progressEvent) {
        if (progressEvent.lengthComputable) {
          loadingStatus.setPercentage(progressEvent.loaded / progressEvent.total);
        } else {
          loadingStatus.increment();
        }
     };

    fileTransfer.download(
      uri,
      filePath,
      function(entry) {
        console.log("download complete: " + entry.fullPath);
      },
      function(error) {
        console.log("download error source " + error.source);
        console.log("download error target " + error.target);
        console.log("upload error code" + error.code);
      },
      false,
      {
        headers: {

        }
    }
  );
 }

当我在模拟器或真实设备中运行我的应用程序时,所有命中错误消息:Uncaught ReferenceError:未定义FileTransfer.

我包含了cordova.js,此错误的原因是什么?谢谢.

rgds
布伦特

解决方法:

该插件无法在浏览器中运行,它将引发“未定义新的FileTransfer”错误.使用真实的设备进行测试.

Angular 5 – 未捕获的ReferenceError:未定义req

Angular 5 – 未捕获的ReferenceError:未定义req

我最近将我的运行项目从Angular 4.4.3更新为Angular5.我根据更新指南将所有角度包更新到Angular 5.0.0.

另外,我还将角度CLI更新为1.5.0.从那时起,我在控制台中遇到以下错误:

polyfills.b8a5e5b….bundle.js:1 Uncaught ReferenceError: req is not defined
    at polyfills.b8a5e5b….bundle.js:1
    at polyfills.b8a5e5b….bundle.js:1
    at polyfills.b8a5e5b….bundle.js:1
    at Function.r.__load_patch (polyfills.b8a5e5b….bundle.js:1)
    at polyfills.b8a5e5b….bundle.js:1
    at c (polyfills.b8a5e5b….bundle.js:1)
    at Object.<anonymous> (polyfills.b8a5e5b….bundle.js:1)
    at Object.eFQL (polyfills.b8a5e5b….bundle.js:1)
    at n (inline.904a54f….bundle.js:1)
    at Object.TU+8 (polyfills.b8a5e5b….bundle.js:1)

我在这里错过了什么吗?

解决方法

删除node_modules并运行npm install.

这个对我有用.

AngularJS&Jasmine / Karma – 未捕获的ReferenceError:未定义require

AngularJS&Jasmine / Karma – 未捕获的ReferenceError:未定义require

我正在尝试使用Jasmine-Karma测试一个角度应用程序.我是“测试/控制台/ npm”字段中的新手,所以我想问你一个简单的解释(以及一些修复)导致错误的原因

Uncaught ReferenceError: require is not defined at
/Applications/MAMP/htdocs/…./node_modules/angular-mocks/ngAnimateMock.js:1

我还发现angular-mocks文件夹中没有ngAnimateMock.js.

这是我的karma.conf.js文件

module.exports = function(config) {
  config.set({

    basePath: '',frameworks: ['jasmine'],files: [
      'public/vendor/angular/angular.js','node_modules/angular-mocks/*.js','public/vendor/traceur/bin/traceur.js','public/js/*.js','test/spec/spec.js',],exclude: [
    ],preprocessors: {
    },reporters: ['progress'],port: 9876,colors: true,logLevel: config.LOG_INFO,autoWatch: true,browsers: ['Chrome'],singleRun: false
  });
};

解决方法

您可能需要将配置更改为此类似的内容

框架:[‘require’,’jasmine’],

今天关于类构造函数中的“未捕获的ReferenceError:未定义”未捕获类型错误,无法读取未定义属性的介绍到此结束,谢谢您的阅读,有关android – PhoneGap错误 – “未捕获的ReferenceError:未定义cordova”、android-未捕获的ReferenceError:未定义FileTransfer(使用cordova 2.7.0)、Angular 5 – 未捕获的ReferenceError:未定义req、AngularJS&Jasmine / Karma – 未捕获的ReferenceError:未定义require等更多相关知识的信息可以在本站进行查询。

本文标签: