这小段代码是http://www.hewebgl.com/articl...中的
因为函数中 width 和 height 没有用 var 声明,隐式泄漏为全局变量 而且接下来的函数还要用到width和height,所以我就把它们放到函数体外,但是这两句挪出函数体外显示的效果就失败了(代码为了绘制一条线)
FireBug的报错:
Error in parsing value for ‘width’. Declaration dropped.
Error in parsing value for ‘height’. Declaration dropped.
var renderer;
//width = document.getElementById('canvas-frame').clientWidth;
//这两行写这(函数体外)无效
//height = document.getElementById('canvas-frame').clientHeight;
function initThree() {
width = document.getElementById('canvas-frame').clientWidth;
//这样有效
height = document.getElementById('canvas-frame').clientHeight;
renderer = new THREE.WebGLRenderer({
antialias : true
});
renderer.setSize(width, height);
document.getElementById('canvas-frame').appendChild(renderer.domElement);
renderer.setClearColor(0xFFFFFF, 1.0);
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…