hositing 提升

x=10;
var x;
x=10;
let x;
//153:1 Uncaught ReferenceError: Cannot access 'x' before initialization

当使用WebGL时,以下是一些必须记住的API:

-  gl.createShader(type):创建一个新的着色器对象。type参数应该是gl.VERTEX_SHADER或gl.FRAGMENT_SHADER之一,表示要创建的着色器的类型。
-  gl.shaderSource(shader, source):将着色器源代码分配给着色器对象。
-  gl.compileShader(shader):编译着色器对象。
-  gl.getShaderParameter(shader, pname):获取着色器对象的参数值。pname参数应该是gl.COMPILE_STATUS,表示编译是否成功。
-  gl.getShaderInfoLog(shader):获取着色器对象的信息日志。
-  gl.createProgram():创建一个新的着色器程序对象。
-  gl.attachShader(program, shader):将着色器对象附加到着色器程序对象上。
-  gl.linkProgram(program):链接着色器程序对象。
-  gl.getProgramParameter(program, pname):获取着色器程序对象的参数值。pname参数应该是gl.LINK_STATUS,表示链接是否成功。
-  gl.getProgramInfoLog(program):获取着色器程序对象的信息日志。

  •  gl.useProgram(program):指定要使用的着色器程序对象。
  •  gl.bindBuffer(target, buffer):将缓冲区对象绑定到指定的目标上。
  •  gl.bufferData(target, data, usage):将数据存储在缓冲区对象中。
  •  gl.vertexAttribPointer(index, size, type, normalized, stride, offset):指定顶点属性数组的布局。
    -  gl.enableVertexAttribArray(index):启用顶点属性数组。
    -  gl.drawArrays(mode, first, count):绘制图形。

这些API是WebGL中最常用的API之一,但还有许多其他API可用于更高级的图形编程。如果您需要更多信息,请告诉我。