如何纠正以下错误?

时间:2017-11-18 10:18:14

标签: javascript

我一直在寻找一些时间来解决这些错误。有谁看到这里有什么问题?非常感谢你。

控制台中显示以下两条消息:

  

ReferenceError:未定义exampleCode

  

TypeError:exampleCode.getValue0不是函数

//exampleCode.js

(function(exampleCode) {
  "use strict";

  var value0 = yawnFactor;
  setInterval(function() {
    if (value0 >= 1) {
      value0 = 0;

    } else {

      value0 += 0.00;
    }
  });

  Object.assign(exampleCode, {
    getValue0: function() {
      return value0;
    }
  });

})(window.exampleCode = window.exampleCode || {});

///////////////////////////////////////////////////////////////////////

//var exampleCode = {}

var loader = new THREE.JSONLoader();
loader.load("./three/models/model.json", function(geometry, materials) {
  var texture = new THREE.TextureLoader().load('./three/models/model.jpg');
  var material = new THREE.MeshPhongMaterial({
    skinning: true,
    transparent: true,
    map: texture
  });

  var mesh = new THREE.SkinnedMesh(geometry, material);
  mesh.scale.set(2.9, 1.9, 2.5);
  mesh.position.set(0, -16, 0);
  mesh.rotation.set(0.0, 3.15, 0.0);
  scene.add(mesh);

  var helper = new THREE.SkeletonHelper(mesh);
  helper.material.linewidth = 2;
  helper.visible = false;
  scene.add(helper);

  render();

  function update() { //<-- this giv the Errors, but it is running.
    requestAnimationFrame(update);
    mesh.skeleton.bones[11].rotation.z = exampleCode.getValue0();
  }
  update();

});

1 个答案:

答案 0 :(得分:0)

exampleCode.js window.exampleCode定义为空对象,然后在其上指定getValue0方法。

此时您可以拨打exampleCode.getValue0();

之后,您使用新的对象说var exampleCode = {}哪个覆盖该对象。

exampleCode.getValue0不再存在。

然后您尝试拨打exampleCode.getValue0();,这不再存在,因此您会收到错误。

不要覆盖exampleCode