javascript - 未捕获语法错误 : Unexpected token ) JavaScript

标签 javascript jquery three.js

我正在编写一段代码来创建一个平面并通过 Three.js 将对象放在上面 下面是我的代码。 当我尝试运行它时,得到

Uncaught ReferenceError: mythree is not defined

最后一行。

Uncaught SyntaxError: Unexpected token ) js/myassn3.js:60

下面是JS代码:

(function (mythree , $, undefined) {
    mythree.init = function (hook) {
        var checkerBoard = undefined;
        var WIDTH  = 600,
            HEIGHT = 500;
        var renderer = new THREE.WebGLRenderer();
        renderer.setSize(WIDTH, HEIGHT);
        hook.append(renderer.domElement);

        // CAMERA SETUP
        var VIEW_ANGLE = 65, 
            ASPECT = WIDTH / HEIGHT,
            NEAR = 0.1,  // these elements are needed for cameras to
            FAR = 10000; // partition space correctly
        var camera = new THREE.PerspectiveCamera(
            VIEW_ANGLE,
            ASPECT,
            NEAR,
            FAR);
        camera.position.z = 300;
        var controls = new THREE.TrackballControls(camera);
        controls.target.set(0, 0, 0)

        // SCENE SETUP
        var scene = new THREE.Scene();
        scene.add(camera);

        // PLAIN SETUP & APPLYING TEXTURE TO IT
        var plane = new THREE.Mesh(new THREE.PlaneGeometry(300, 300), material);
        plane.overdraw = true;
        scene.add(plane);

        // TEXTURE SETUP
        var texture =THREE.ImageUtils.loadTexture('./images/chessboard.jpg');
        var material = new THREE.MeshLambertMaterial({
            map: texture
        });

        var loader = new THREE.JSONLoader();
        var pointLight = new THREE.PointLight(0xFFFFFF);
        pointLight.position = new THREE.Vector3(-10, 30, 100);
        scene.add(pointLight);
        for (i = 0; i < 4; i++) {
            var a = -130;
            loader.load("piece.json", function (geometry) {
                mesh = new THREE.Mesh(geometry, new THREE.MeshBasicMaterial({ color: 0x000000 }));
                mesh.scale.set(30, 30, 30);
                mesh.position = new THREE.Vector3(a, -130, 15); 
                mesh.rotation.x += 1.5;
                a = a + 75;
                scene.add(mesh);
            });
        }

        var render = function () {
            renderer.render(scene, camera);
            controls.update();
            requestAnimationFrame(render);
        };
        render();
        window.requestAnimationFrame(renderLoop);
})(window.mythree = window.mythree || {}, jQuery)

任何人都可以帮忙解决这个问题吗?

最佳答案

首先:请学会缩进你的代码。请!
如果您的代码可读,或者您只是使用 IDE(任何可以为您计算括号、方括号和大括号的 IDE),您就不需要寻求我们的帮助。

所以,问题是您的 mythird.init 函数定义 block 缺少右大括号(})。我不知道你的 mythird.init 在哪里结束(只是因为你的代码没有缩进,而且真的很困惑),所以你自己修复它。

关于javascript - 未捕获语法错误 : Unexpected token ) JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22737836/

相关文章:

javascript - 按相对位置对数组排序

javascript - 尝试通过单击按钮从文本区域复制代码

javascript - 单击 MVC 应用程序中的标签时如何选中所有复选框?

php - 使用自动完成功能输入文本 - 未捕获的 TypeError : $. ajax 不是 PHP、MySQL 和 jQuery 中的函数

three.js - 等距 View 中正交相机的 ThreeJS 光线转换问题

javascript - 弄清楚 AJAX POST 函数时遇到问题

javascript - 从 a4j 调用 javascript :jsFunction in richfaces 3. 3.3

javascript - 我上传图像的 Javascript 和 PHP 通信有什么问题?

javascript - 添加纹理到 ExtrudeGeometry

javascript - Three.js 三.交互 三.transformControls