首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是“原生JavaScript"?

什么是“原生JavaScript"?
EN

Stack Overflow用户
提问于 2011-08-11 14:59:29
回答 9查看 58.7K关注 0票数 34

有没有什么叫做“原生JavaScript”的东西?我在将要面试的职位描述中看到了这个术语。

常规JavaScript是否与本地JavaScript相同?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2011-08-11 15:15:19

术语“原生”在JavaScript中被过度使用了。

在口语上,它的用法和Johan的答案一样: no JQuery,Moo,Dojo.

  • Analogous to JNI for Java,谷歌的GWT和类似的i-
  • -down- to -JavaScript谈论底层实现是原生的。
  • JS中原生的用法,我相信是指在ECMAScript中构建和定义的对象,而不是环境。作为一种ECMAScript语言,JavaScript的目的不是自给自足;它嵌入在主机环境中,如网络浏览器、Photoshop、Acroread等。编写Web客户端程序时,将使用诸如MathFunctionArrayWindowButton等对象。前三个是本机(独立于主机环境),后两个是非本机的(由主机环境提供)。这与cdhowie的答案是相反的,这是一个很好的答案。不过,很有趣!

我相信还有其他的解释。我的猜测是,如果你在工作描述中看到这一点,它可能不是最后一个:这个定义太学术了。:)

以下是ECMAScript-262标准第五版的官方定义:

代码语言:javascript
复制
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.

换句话说,像MathObjectStringRegExp这样的内置是原生的,就像我用对象文字或函数定义创建的任何对象一样。但是宿主对象正好相反。很抱歉让你东拉西扯。

票数 42
EN

Stack Overflow用户

发布于 2014-09-15 14:34:03

原生JS,我想是下面的例子:

代码语言:javascript
复制
$=~[];$={___:++$,$$$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$],_$_:++$,$_$$:
({}+"")[$],$$_$:($[$]+"")[$],_$$:++$,$$$_:(!""+"")[$],$__:++$,$_$:
++$,$$__:({}+"")[$],$$_:++$,$$$:++$,$___:++$,$__$:++$};$.$_=
($.$_=$+"")[$.$_$]+($._$=$.$_[$.__$])+($.$$=($.$+"")[$.__$])+
((!$)+"")[$._$$]+($.__=$.$_[$.$$_])+($.$=(!""+"")[$.__$])+
($._=(!""+"")[$._$_])+$.$_[$.$_$]+$.__+$._$+$.$;$.$$=$.$+
(!""+"")[$._$$]+$.__+$._+$.$+$.$$;$.$=($.___)[$.$_][$.$_];
$.$($.$($.$$+"\""+$.$$_$+$._$+$.$$__+$._+"\\"+$.__$+$.$_$+$.$_$+
$.$$$_+"\\"+$.__$+$.$_$+$.$$_+$.__+".\\"+$.__$+$.$$_+$.$$$+
"\\"+$.__$+$.$$_+$._$_+"\\"+$.__$+$.$_$+$.__$+$.__+$.$$$_+
"(\\\"\\"+$.__$+$.__$+$.___+$.$$$_+(![]+"")[$._$_]+(![]+"")[$._$_]+
$._$+", \\"+$.__$+$.$$_+$.$$$+$._$+"\\"+$.__$+$.$$_+$._$_+
(![]+"")[$._$_]+$.$$_$+"!\\\")\\"+$.$$$+$._$$+"\"")())();
票数 17
EN

Stack Overflow用户

发布于 2013-09-11 22:33:57

原生JavaScript是在浏览器中实现的JavaScript。

浏览器实现之后是ECMA标准和一些额外的方法。例如,如果您熟悉jQuery并希望按ID选择元素

代码语言:javascript
复制
$('#myId')

本机JavaScript将为

代码语言:javascript
复制
document.getElementById('myId')

现在,如果你需要做一些简单的任务。您可能不会或不应该加载一个巨大的jQuery库并执行它的所有功能。相反,用10行原生Javascript代码就可以完成这项工作,而不是用5行jQuery代码

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7022007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档