4

教祖私はGoogle-V8エンジンの働きを理解しようとしています.私が理解している限り、私はhttps://developers.google.com/v8/get_startedに出くわしています. 、上記の例のように、文字列として出力されます。実際のシナリオでは、このキャンバス コードを検討してください。

var canvas = document.getElementById("canvas"),
        ctx = canvas.getContext("2d"), // Create canvas context
        W = window.innerWidth, // Window's width
        H = window.innerHeight, // Window's height
        particles = [], // Array containing particles
        ball = {}, // Ball object
        paddles = [2], // Array containing two paddles
        mouse = {}, // Mouse object to store it's current position
        points = 0, // Varialbe to store points
        fps = 60, // Max FPS (frames per second)
        particlesCount = 20, // Number of sparks when ball strikes the paddle
        flag = 0, // Flag variable which is changed on collision
        particlePos = {}, // Object to contain the position of collision 
        multipler = 1, // Varialbe to control the direction of sparks
        startBtn = {}, // Start button object
        restartBtn = {}, // Restart button object
        over = 0, // flag varialbe, cahnged when the game is over
        init, // variable to initialize animation
        paddleHit;

// Add mousemove and mousedown events to the canvas
canvas.addEventListener("mousemove", trackPosition, true);
canvas.addEventListener("mousedown", btnClick, true);

window.requestAnimFrame = (function(){
    return  window.requestAnimationFrame       || 
        window.webkitRequestAnimationFrame || 
        window.mozRequestAnimationFrame    || 
        window.oRequestAnimationFrame      || 
        window.msRequestAnimationFrame     ||  
        function( callback ){
            return window.setTimeout(callback, 1000 / 60);
        };
})();

これらのコード、特に canvas.addEventListener は V8 でどのように実行されるのでしょうか。

4

1 に答える 1

4

v8 は組み込み可能な JavaScript エンジンです。このエンジンは、Canvas、getElement、またはその他のブラウザー固有の機能とは何の関係もありません。v8 は、ブラウザ コードにコールバックして、JavaScript コード内から何かを行うだけです。あなたが言及したリンクは、v8 を C++ アプリケーションに埋め込み始める方法に関するドキュメントです。JavaScript を使用して独自のアプリケーション リソースを制御できるようにします。制御できるリソースは、ファイル、グラフィック、ウィンドウ、デバイス、ガジェットのいずれかです。

v8 のパワーと HTML レンダリング エンジンを組み合わせた別のプロジェクトがあり、このプロジェクトは Chromium ブラウザーと呼ばれます。

于 2014-02-01T11:57:04.913 に答える