SOURCE

console 命令行工具 X clear

                    
>
console
var canvas = document.querySelector('canvas');
      var ctx = canvas.getContext('2d');
      var bigCX = 650, bigCY = 250, bigR = 430;
      var dist = 330, a = 0;
      ctx.font = '40px sans-serif'; 
      ctx.textAlign = 'center';
      ctx.textBaseline = 'middle';
      var radgrad = ctx.createRadialGradient(250, 250, 190, 250, 250, 200);
      radgrad.addColorStop(0, '#fff');
      radgrad.addColorStop(1, '#333');
      function clock(){
        bigCX = 250 + dist*Math.cos(a)
        bigCY = 250 + dist*Math.sin(a)
        ctx.clearRect(0,0,500,500);
        ctx.beginPath();
        ctx.arc(250, 250, 200, 0, Math.PI * 2, true);
        ctx.strokeStyle = radgrad; 
        ctx.lineWidth = 30;
        ctx.stroke();
        ctx.clip();
        ctx.closePath();
        ctx.beginPath();
        ctx.moveTo(bigCX, bigCY);  
        ctx.lineTo(500-bigCX, 500-bigCY);  
        ctx.strokeStyle='#f66'; 
        ctx.lineWidth = 2;
        ctx.stroke();
        ctx.closePath();
        drawLine();
        drawLine(Math.PI/12, 10, -1);
        drawLine(0, 2, -1, 72);
      }
      function drawLine(start, len, text, count){
        start = start || 0;
        len = len || 30;
        text = text || 1;
        count = count || 12;
        var angle = Math.PI*2 / count;
        ctx.strokeStyle='#000'; 
        for(var i=0; i<count; i++){
          var startX = bigCX + (bigR-len)*Math.cos(angle*i + start);
          var startY = bigCY + (bigR-len)*Math.sin(angle*i + start);
          var endX = bigCX + bigR*Math.cos(angle*i + start);
          var endY = bigCY + bigR*Math.sin(angle*i + start);
          if(text  === 1){
            var startTextX = bigCX + (bigR-len-30)*Math.cos(angle*i + start);
            var startTextY = bigCY + (bigR-len-30)*Math.sin(angle*i + start);
            ctx.fillText(i+1, startTextX, startTextY);
          }
          ctx.beginPath();
          ctx.lineCap="round";
          ctx.moveTo(startX,startY);
          ctx.lineTo(endX,endY);
          ctx.lineWidth = 4;
          ctx.stroke();
          ctx.closePath();
        }
      }
      function animate(){a += Math.PI/360; clock(a);requestAnimationFrame(animate)}
      requestAnimationFrame(animate);
    </script>
<canvas width='500' height='500'></canvas>