Edit in JSFiddle

(function(){
    var b2Vec2 = Box2D.Common.Math.b2Vec2,
        b2BodyDef = Box2D.Dynamics.b2BodyDef,
        b2Body = Box2D.Dynamics.b2Body,
        b2FixtureDef = Box2D.Dynamics.b2FixtureDef,
        b2World = Box2D.Dynamics.b2World,
        b2PolygonShape = Box2D.Collision.Shapes.b2PolygonShape,
        b2CircleShape = Box2D.Collision.Shapes.b2CircleShape,          
        b2DebugDraw = Box2D.Dynamics.b2DebugDraw;
    
    var world = new b2World(
      new b2Vec2(0, 10), //gravity vector
      true
    );
    
    var fixDef = new b2FixtureDef;
    fixDef.shape = new b2PolygonShape;
    fixDef.density = 1.0;
    fixDef.friction = 0.5;
    fixDef.restitution = .5;
         
    fixDef.shape.SetAsArray([
        new b2Vec2(-1, 0),
        new b2Vec2(0, -1),
        new b2Vec2(1, 0)],3
        ); //triangle shape

    var bodyDef = new b2BodyDef;
    bodyDef.type = b2Body.b2_staticBody;    
    bodyDef.position.Set(7, 7);
    world.CreateBody(bodyDef).CreateFixture(fixDef);
    
    var debugDraw = new b2DebugDraw();
    debugDraw.SetSprite(document.getElementById("playground").getContext("2d"));
    debugDraw.SetDrawScale(20.0);
    debugDraw.SetFillAlpha(0.5);
    debugDraw.SetLineThickness(1.0);
    debugDraw.SetFlags(b2DebugDraw.e_shapeBit);
    world.SetDebugDraw(debugDraw);
    
    bodyDef.type = b2Body.b2_dynamicBody;
    var i=0;
    setInterval(function(){
        fixDef.shape = new b2CircleShape(.5); //circle shape
        bodyDef.position.Set(7,0);
        var body=world.CreateBody(bodyDef);
        body.CreateFixture(fixDef);
        body.ApplyImpulse(new b2Vec2(i++%2?0.5:-0.5, 0), body.GetWorldCenter()); //Push the shape slightly
    },1000);
    
    setInterval(function(){
        world.Step(1 / 60, 10, 10);
        world.DrawDebugData();
        world.ClearForces();
    },1000/60);
})();