2011-08-11 19 views
22

¿Hay algo llamado "JavaScript nativo"? He visto este término en una descripción del trabajo que voy a entrevistar.¿Qué es el "JavaScript nativo"?

¿El inglés normal es el mismo que el JavaScript nativo?

+0

probable que significan JavaScript, en vez que las bibliotecas JS como jQuery, Dojo y otros. –

Respuesta

26

El término "nativo" está muy usado en exceso en JavaScript.

  • Coloquialmente, se usa como en la respuesta de Johan: no JQuery, Moo, Dojo.

  • De manera análoga a JNI para Java, Google GWT y similares I-compile-down-to-JavaScript hablan sobre la implementación subyacente como nativa.

  • El original uso de native en JS, creo, se refiere a los objetos creados y definidos en ECMAScript en lugar de en el entorno. JavaScript, como un lenguaje ECMAScript, no está destinado a ser autosuficiente; está incrustado en un entorno host como un navegador web, Photoshop, Acroread, etc. Cuando escribe un programa cliente web, utilizará objetos como Math, Function, Array, Window y Button. Los primeros tres son nativos (independientemente del entorno del host), mientras que los dos últimos no son nativos (proporcionados por el entorno del host). Esto es algo opuesto a la respuesta de cdhowie, que es una buena respuesta por cierto. ¡Solo es interesante, sin embargo!

Estoy seguro de que hay otras interpretaciones. Supongo que si ves esto en la descripción de un trabajo, probablemente no sea el último: esa definición es demasiado académica. :)

Aquí es la definición oficial de la ECMAScript-262 estándar, Quinta edición:

4.3.6 native object --- object in an ECMAScript implementation 
whose semantics are fully defined by this specification rather 
than by the host environment. NOTE Standard native objects are 
defined in this specification. Some native objects are built-in; 
others may be constructed during the course of execution of an 
ECMAScript program. 

En otras palabras, los muebles empotrados como Math, Object, String, RegExp son nativos, como son los objetos Hago con literales de objetos o definiciones de funciones.Pero objetos host son lo opuesto. Perdón por el paseo.

3

que la creencia nativa Javascript venera a javascript 'vainilla', por lo que no jQuery, MooTools, etc. simplemente vieja Javascript

0

que es lo mismo, tal vez sólo se pregunta si ha hecho algo más que jayesh etc.

0

El único contexto que conozco para el término "JavaScript nativo" implica escribir objetos de JavaScript y/o funciones implementadas por el proveedor de JavaScript y no escritas en el propio JavaScript. Por ejemplo, muchas de las funciones que llama en el objeto window son implementadas por el navegador en su idioma nativo (C++ para Firefox/Mozilla, etc.). Esto podría ser lo que significan ...

También pueden significar vainilla/JavaScript puro (sin marcos como jQuery o Prototype). Considere contactarlos y pedir aclaraciones.

+0

Eso es exactamente el camino equivocado. Los objetos nativos son objetos puros de JavaScript, mientras que los objetos proporcionados por el entorno (por ejemplo, los nodos DOM en los navegadores) se conocen como * objetos host *. –

0

No, Javascript nativo para mí significa funciones js de terceros que pueden hacer cosas que js cant regulares, algo así como la relación Java-JNI. Google JNEXT y JSNI para más información.

De nuevo, no conozco el contexto real de la pregunta, si fuera usted, pediría una aclaración.

2

JavaScript nativo es el JavaScript implementado en el navegador.

La implementación del navegador va seguida por la norma ECMA y algún método adicional. Por ejemplo, si usted familiarizado con jQuery y desea seleccionar elemento por ID

$('#myId') 

nativo JavaScript será

document.getElementById('myId') 

Ahora bien, si lo que necesita hacer algunas tareas sencillas. Es posible que no deba o no deba cargar una gran biblioteca de jQuery y ejecutar todas sus funcionalidades. En lugar de 10 líneas de Javascript nativo va a hacer el trabajo en lugar de 5 líneas de código jQuery

5

nativo JS, creo, es el siguiente ejemplo:

$=~[];$={___:++$,$$$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$],_$_:++$,$_$$:({}+"")[$],$$_$:($[$]+"")[$],_$$:++$,$$$_:(!""+"")[$],$__:++$,$_$:++$,$$__:({}+"")[$],$$_:++$,$$$:++$,$___:++$,$__$:++$};$.$_=($.$_=$+"")[$.$_$]+($._$=$.$_[$.__$])+($.$$=($.$+"")[$.__$])+((!$)+"")[$._$$]+($.__=$.$_[$.$$_])+($.$=(!""+"")[$.__$])+($._=(!""+"")[$._$_])+$.$_[$.$_$]+$.__+$._$+$.$;$.$$=$.$+(!""+"")[$._$$]+$.__+$._+$.$+$.$$;$.$=($.___)[$.$_][$.$_];$.$($.$($.$$+"\""+$.$$_$+$._$+$.$$__+$._+"\\"+$.__$+$.$_$+$.$_$+$.$$$_+"\\"+$.__$+$.$_$+$.$$_+$.__+".\\"+$.__$+$.$$_+$.$$$+"\\"+$.__$+$.$$_+$._$_+"\\"+$.__$+$.$_$+$.__$+$.__+$.$$$_+"(\\\"\\"+$.__$+$.__$+$.___+$.$$$_+(![]+"")[$._$_]+(![]+"")[$._$_]+$._$+", \\"+$.__$+$.$$_+$.$$$+$._$+"\\"+$.__$+$.$$_+$._$_+(![]+"")[$._$_]+$.$$_$+"!\\\")\\"+$.$$$+$._$$+"\"")())(); 
+0

Wat ... Mente = soplado. – evolutionxbox

+0

... ¡¡¡Mierda !! –

+0

¿Cómo funciona? –

0

nativo JavaScript es todo el código JavaScript. No hay ningún tipo de códigos marco. Es más rápido y carga en el navegador. Puede usarlo para una tarea de navegador simple, que no requiera ninguna interfaz de base de datos, o cualquier trabajo de computación grande de back-end. El uso del marco hace que los códigos sean más grandes y hace que el navegador sea lento.

+1

Su respuesta parece contar solamente parte de la historia. JavaScript nativo (vainilla) puede hacer * cualquier cosa * una biblioteca de JavaScript puede o ponerlo en reversa: una biblioteca no puede hacer más que las capacidades del código nativo. Lo principal que las bibliotecas añaden es * abstraction * para que pueda hacer algunas cosas * easy * con un código más legible y conciso. Esto, de hecho, * puede * venir a costa de un cálculo extra y bytes adicionales a través del cable. – Timusan

4

no complicar demasiado las cosas más como @ respuesta de Ray es correcta, pero un nuevo marco de JavaScript para crear aplicaciones móviles ha surgido llamado NativeScripthttps://www.nativescript.org/ Si no es lo suficientemente confuso, este marco permite escribir "vainilla" pura JavaScript, pero llame a API nativas (iOS/Android/WindowsPhone).

es casi como escribir una aplicación "nativa" (pensar Objective-C/Java/C#) pero utilizando un solo idioma (JavaScript), que es interpretado en tiempo de ejecución en el dispositivo.

Sospecho que la popularidad de esta biblioteca crece "nativo JavaScript" se puede utilizar como una etiqueta para describir código usando este marco (esp., Ya que así es como llegué a esta pregunta a través de Google)

Cuestiones relacionadas