Esquema de Flujo
Aquí se puede apreciar el "recorrido" de una instrucción mandada desde la aplicación. El primer paso lo inicia la aplicación que manda una instrucción , que luego, el motor de Javascript la interpreta y hace las manipulaciones pertinentes y después devuelve el valor.
"Runtime",
o tiempo de pasada, que es lo que se aprecia en esta imagen, con la función JS_NewRuntime se pasa las instrucciones y devuelve el valor pertinente.

Javascript-C es la versión SpiderMonkey de Mozilla ,es decir un lenguaje cruzado, para la interpretación de objetos del mediante Gecko-JavaScript invocado en C++, lo que permite a la Programación orientada a objetos hasta el Modelo en Objetos para la representación de Documentos de una aplicación. Los archivos *.c, *.h y *.o se vinculan mediante unos #include por cada archivo, que para que funcione tiene que haber los archivos del jsapi Archivado el 24 de abril de 2006 en Wayback Machine.

Ejecución

editar

El primer paso lo inicia la aplicación que manda una instrucción , que luego, el motor de Javascript la interpreta y hace las manipulaciones pertinentes y después devuelve un valor. Con la función JS_NewRuntime se pasa las instrucciones y devuelve el valor pertinente.

Versiones de respaldo del Javascript

editar

Las ayudas de motor de JS (JavaScript) JS 1,0 JS directo 1,4. JS 1,3 y mayor se conforman con la especificación ECMAScript-262. En su más simple, el motor de JS analiza, compila, y ejecuta las escrituras que contienen declaraciones y funciones de JS. El motor maneja la asignación de memoria para los tipos de datos de JS y se opone necesario para ejecutar las escrituras, y limpia para arriba -- la basura recoge -- los tipos y los objetos de datos en la memoria esa él ningunas necesidades más largas.

Funcionamiento

editar

Se solicita al motor de JS pudo ser una llamada a JS_NewObject para crear el objeto de encargo. Cuando el motor de JS crea el objeto, vuelve un indicador a su uso. Su uso puede entonces llamar el motor de JS otra vez para ejecutar las escrituras que utilizan el objeto. Por ejemplo, después de crear el objeto del usuario, su uso pudo pasar inmediatamente una escritura a JS_EvaluateScript para la compilación y ejecutarse inmediatamente. Que la escritura pudo conseguir y validar la información de un usuario, y entonces que establezca los derechos de acceso de usuario a otras características del uso.

Lo que hace es que la aplicación manda una rutina de JS al JSAPI ( interfaz de programación en JS) y devuelve un JS que la aplicación la interpreta tal y como C++

Este sistema de programación es muy usado por Macromedia Dreamweaver, Macromedia Flash, Macromedia Fireworks

Tipos de valores

editar
  • JSVAL_IS_OBJECT, el valor es un objeto.
  • JSVAL_IS_NUMBER, el valor es un número, por ejemplo 459.
  • JSVAL_IS_INT, el valor es un número entero, por ejemplo en 593,55 el entero es '593'.
  • JSVAL_IS_DOUBLE, el valor que doble, en programación se entiende como la parte decimal, en el ejemplo anterior sería '55'.
  • JSVAL_IS_STRING, el valor es una cadena y se escribe entre comillas ("string").
  • JSVAL_IS_BOOLEAN es un valor booleano, es decir verdadero o falso.

Fragmentos de código

editar
.
.
.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/* include the JS engine API header */
#include "jsapi.h"
.
.
.

/* main function sets up global JS variables, including run time,
 * a context, and a global object, then initializes the JS run time,
 * and creates a context. */

int main(int argc, char **argv)
{
  int c, i;
  /*set up global JS variables, including global and custom objects */

  JSVersion version;
  JSRuntime *rt;
  JSContext *cx;
  JSObject  *glob, *it;
  JSBool builtins;

  /* initialize the JS run time, and return result in rt */
  rt = JS_NewRuntime(8L * 1024L * 1024L);

  /* if rt does not have a value, end the program here */
  if (!rt)
    return 1;

  /* create a context and associate it with the JS run time */
  cx = JS_NewContext(rt, 8192);

  /* if cx does not have a value, end the program here */
  if (cx == NULL)
    return 1;

  /* create the global object here */
  glob = JS_NewObject(cx, clasp, NULL, NULL);

  /* initialize the built-in JS objects and the global object */
  builtins = JS_InitStandardClasses(cx, glob);

  .
  . 
  .

  return 0;

}

ejemplo aquí Archivado el 24 de abril de 2006 en Wayback Machine.

Véase también

editar

Enlaces externos

editar

(*) en inglés

📚 Artikel Terkait di Wikipedia

JavaScript de Fireworks

siglas de JavaScript de Fireworks. Es un documento que contiene rutinas de Javascript de Macromedia Fireworks (que usa el motor Javascript-C de Mozilla

JavaScript

sintaxis similar a C++ y Java,​​ aunque adopta nombres y convenciones del lenguaje de programación Java. Sin embargo, Java y JavaScript tienen semánticas

Lenguaje de alto nivel

compilados o interpretados. Algunos ejemplos son: Java, PHP, Python, Javascript, C#. En los primeros lenguajes, la limitación era que se orientaban a un

C-HTML

que dependen de la interacción con bases de datos. C-HTML elimina la necesidad de programas Javascript o CGI, ya que proporciona la misma funcionalidad

Emscripten

normalmente creado al compilar código C o C++. Este nos devuelve como salida un archivo en el lenguaje de programación JavaScript que puede procesarse en navegadores

Lingo

encima del motor de SpiderMonkey (Javascript-C) [ 1 ], que es un intérprete preembalado de ECMAScript escrito en C y se conforma en gran parte a la especificación

Adobe Dreamweaver

Javascript-C, lo que le ofrece una gran flexibilidad. Esto hace que los archivos del programa no sean instrucciones de C++ sino rutinas de Javascript

Cross-site scripting

del navegador de la misma, el código malicioso, generalmente escrito en JavaScript, parece ser parte legítima del sitio web, lo que convierte al sitio en