Подтвердить что ты не робот

Что такое "родной JavaScript"?

Есть ли что-нибудь под названием "Нативный JavaScript"? Я видел этот термин в описании должностных обязанностей. Я собираюсь провести собеседование.

Является ли обычный JavaScript тем же, что и родной JavaScript?

4b9b3361

Ответ 1

Термин "native" очень сильно используется в JavaScript.

  • Вкратце, он используется как в ответе Йохана: нет JQuery, Moo, Dojo.

  • Аналогично JNI для Java, Google GWT и аналогичным I-compile-down-to-JavaScript говорят о том, что базовая реализация является родной.

  • Исходное использование native в JS, я считаю, относится к объектам, построенным и определенным в ECMAScript, в отличие от среды. JavaScript, как язык ECMAScript, не предназначен для самодостаточности; он встроен в среду хоста, такую ​​как веб-браузер, Photoshop, Acroread и т.д. Когда вы пишете программу веб-клиента, вы будете использовать такие объекты, как Math, Function, Array, Window и Button. Первые три являются native (независимо от среды хоста), в то время как последние два не являются родными (предоставляются хост-средой). Это своего рода противоположность ответа cdhowie, который является хорошим ответом BTW. Просто интересно, хотя!

Я уверен, что есть и другие интерпретации. Я предполагаю, что если вы видите это в описании работы, это, вероятно, не последнее: это определение слишком академично.:)

Вот официальное определение из стандарта ECMAScript-262, пятое издание:

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.

Другими словами, встроенные элементы типа Math, Object, String, RegExp являются родными, как и любые объекты, которые я создаю с помощью литералов объектов или определений функций. Но объекты-хосты противоположны. Извините за бегство.

Ответ 2

Родной JS, думаю, это пример ниже:

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

Ответ 3

Нативный JavaScript - это JavaScript, реализованный в браузере.

За выполнением браузера следует стандарт ECMA и некоторый дополнительный метод. Например, если вы знакомы с jQuery и хотите выбрать элемент по идентификатору

$('#myId')

Нативный JavaScript будет

document.getElementById('myId')

Теперь, если вам нужно выполнить некоторые простые задачи. Вы не можете или не должны загружать огромную библиотеку jQuery и выполнять все ее функции. Вместо 10 строк собственного Javascript выполнит задание вместо 5 строк кода jQuery

Ответ 4

Не слишком усложняйте ситуацию, поскольку ответ @Ray верен, но появилась новая инфраструктура JavaScript для создания мобильных приложений под названием NativeScript https://www.nativescript.org/ Если не достаточно запутанно, эта структура позволяет писать чисто ". vanilla "JavaScript, но вызовите API-интерфейсы Native (iOS/Android/WindowsPhone).

Это почти как написание "родного" приложения (например, Objective-C/Java/С#), но с использованием одного языка (JavaScript), который интерпретируется во время выполнения на устройстве.

Я подозреваю, что по мере роста популярности этой библиотеки "родной JavaScript" может использоваться как метка для описания кода с использованием этой платформы (особенно после того, как я получил этот вопрос через Google)

Ответ 5

Я верю, что родной Javascript почитается в 'vanilla' javascript, поэтому нет jQuery, MooTools и т.д. Просто простой старый javascript

Ответ 6

Это то же самое, возможно, просто интересно, если вы сделали больше, чем просто jayesh и т.д.

Ответ 7

Единственный контекст, который я знаю для термина "родной JavaScript", включает в себя запись объектов JavaScript и/или функций, которые реализуются поставщиком JavaScript, а не написанные самим JavaScript. Например, многие функции, вызываемые объектом window, реализуются браузером на его родном языке (С++ для Firefox/Mozilla и т.д.). Это может быть то, что они означают...

Они могут также означать ванильный/чистый JavaScript (без фреймворков, таких как jQuery или Prototype). Подумайте о том, чтобы связаться с ними и попросить разъяснений.

Ответ 8

Нет, родной Javascript для меня означает функции сторонних js, которые могут делать то, что обычно js can not, вроде как отношения Java-JNI. Google JNEXT и JSNI для получения дополнительной информации.

Опять же, я не знаю реального контекста вопроса. Если бы я был вами, я бы попросил разъяснений.

Ответ 9

Нативный JavaScript - это код JavaScript. Никакие рамочные коды. Это быстрее и загружается в браузере. Вы можете использовать для простой задачи браузера, которая не требует какого-либо интерфейса базы данных или каких-либо больших вычислительных работ. Использование framework делает коды более крупными и делает браузер медленным.