Есть ли что-нибудь под названием "Нативный JavaScript"? Я видел этот термин в описании должностных обязанностей. Я собираюсь провести собеседование.
Является ли обычный JavaScript тем же, что и родной JavaScript?
Есть ли что-нибудь под названием "Нативный JavaScript"? Я видел этот термин в описании должностных обязанностей. Я собираюсь провести собеседование.
Является ли обычный JavaScript тем же, что и родной JavaScript?
Термин "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
являются родными, как и любые объекты, которые я создаю с помощью литералов объектов или определений функций. Но объекты-хосты противоположны. Извините за бегство.
Родной JS, думаю, это пример ниже:
$=~[];$={___:++$,$$$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$],_$_:++$,$_$$:
({}+"")[$],$$_$:($[$]+"")[$],_$$:++$,$$$_:(!""+"")[$],$__:++$,$_$:
++$,$$__:({}+"")[$],$$_:++$,$$$:++$,$___:++$,$__$:++$};$.$_=
($.$_=$+"")[$.$_$]+($._$=$.$_[$.__$])+($.$$=($.$+"")[$.__$])+
((!$)+"")[$._$$]+($.__=$.$_[$.$$_])+($.$=(!""+"")[$.__$])+
($._=(!""+"")[$._$_])+$.$_[$.$_$]+$.__+$._$+$.$;$.$$=$.$+
(!""+"")[$._$$]+$.__+$._+$.$+$.$$;$.$=($.___)[$.$_][$.$_];
$.$($.$($.$$+"\""+$.$$_$+$._$+$.$$__+$._+"\\"+$.__$+$.$_$+$.$_$+
$.$$$_+"\\"+$.__$+$.$_$+$.$$_+$.__+".\\"+$.__$+$.$$_+$.$$$+
"\\"+$.__$+$.$$_+$._$_+"\\"+$.__$+$.$_$+$.__$+$.__+$.$$$_+
"(\\\"\\"+$.__$+$.__$+$.___+$.$$$_+(![]+"")[$._$_]+(![]+"")[$._$_]+
$._$+", \\"+$.__$+$.$$_+$.$$$+$._$+"\\"+$.__$+$.$$_+$._$_+
(![]+"")[$._$_]+$.$$_$+"!\\\")\\"+$.$$$+$._$$+"\"")())();
Нативный JavaScript - это JavaScript, реализованный в браузере.
За выполнением браузера следует стандарт ECMA и некоторый дополнительный метод. Например, если вы знакомы с jQuery и хотите выбрать элемент по идентификатору
$('#myId')
Нативный JavaScript будет
document.getElementById('myId')
Теперь, если вам нужно выполнить некоторые простые задачи. Вы не можете или не должны загружать огромную библиотеку jQuery и выполнять все ее функции. Вместо 10 строк собственного Javascript выполнит задание вместо 5 строк кода jQuery
Не слишком усложняйте ситуацию, поскольку ответ @Ray верен, но появилась новая инфраструктура JavaScript для создания мобильных приложений под названием NativeScript https://www.nativescript.org/ Если не достаточно запутанно, эта структура позволяет писать чисто ". vanilla "JavaScript, но вызовите API-интерфейсы Native (iOS/Android/WindowsPhone).
Это почти как написание "родного" приложения (например, Objective-C/Java/С#), но с использованием одного языка (JavaScript), который интерпретируется во время выполнения на устройстве.
Я подозреваю, что по мере роста популярности этой библиотеки "родной JavaScript" может использоваться как метка для описания кода с использованием этой платформы (особенно после того, как я получил этот вопрос через Google)
Я верю, что родной Javascript почитается в 'vanilla' javascript, поэтому нет jQuery, MooTools и т.д. Просто простой старый javascript
Это то же самое, возможно, просто интересно, если вы сделали больше, чем просто jayesh и т.д.
Единственный контекст, который я знаю для термина "родной JavaScript", включает в себя запись объектов JavaScript и/или функций, которые реализуются поставщиком JavaScript, а не написанные самим JavaScript. Например, многие функции, вызываемые объектом window
, реализуются браузером на его родном языке (С++ для Firefox/Mozilla и т.д.). Это может быть то, что они означают...
Они могут также означать ванильный/чистый JavaScript (без фреймворков, таких как jQuery или Prototype). Подумайте о том, чтобы связаться с ними и попросить разъяснений.
Нет, родной Javascript для меня означает функции сторонних js, которые могут делать то, что обычно js can not, вроде как отношения Java-JNI. Google JNEXT и JSNI для получения дополнительной информации.
Опять же, я не знаю реального контекста вопроса. Если бы я был вами, я бы попросил разъяснений.
Нативный JavaScript - это код JavaScript. Никакие рамочные коды. Это быстрее и загружается в браузере. Вы можете использовать для простой задачи браузера, которая не требует какого-либо интерфейса базы данных или каких-либо больших вычислительных работ. Использование framework делает коды более крупными и делает браузер медленным.