Как JavaScript выполняется в Google V8, в частности, связанный с Canvas код

гуру, я пытаюсь понять работу движка Google-V8, Насколько я понимаю, я просматриваю https://developers.google.com/v8/get_started , V8 принимает javascript в качестве входных данных, затем вы компилируете его и получаете выходные данные, как в вышеприведенном примере, мы выходим в виде строки. В сценарии реальной жизни дело обстоит иначе, рассмотрите этот код холста

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);
        };
})();

Как этот код выполняется в V8, особенно canvas.addEventListener, может немного осветить и помочь мне понять его.

4 голоса | спросил Rohit 11 12013vEurope/Moscow11bEurope/MoscowMon, 11 Nov 2013 14:24:14 +0400 2013, 14:24:14

1 ответ


0

v8 - это встраиваемый движок JavaScript. Этот движок не имеет ничего общего с Canvas, getElement или любой другой специфической для браузера функцией. v8 просто обратит вас к коду браузера, чтобы сделать что-то из вашего кода javascript. Ссылка, которую вы упоминаете, является документацией, как начать встраивание v8 в ваше приложение C ++. Чтобы вы могли контролировать свои собственные ресурсы приложения с помощью JavaScript. Ресурсы, которыми вы можете управлять, принадлежат вам: файлы, графика, окна, устройства и гаджеты.

Есть еще один проект, который сочетает мощь v8 с движком рендеринга HTML, этот проект называется Chromium browser.

ответил exebook 1 FebruaryEurope/MoscowbSat, 01 Feb 2014 15:57:04 +0400000000pmSat, 01 Feb 2014 15:57:04 +040014 2014, 15:57:04

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132