Vanilla JS是否仍被视为库?


25

最近,我发现VanillaJS(文档?)是一个仅与99%的浏览器捆绑在一起的库,并且不完全是本机JavaScript(我一生的震惊)。在编写自己的库时,我通常会避免所有有用的事情,主要是库。现在我有三个问题:

  1. VanillaJS仍然被认为是库吗?
  2. 没有VanillaJS,有没有办法对DOM做任何事情?
  3. 是基于VanillaJS或本地JS的主要库(无文档资料)

70
Vanilla JS是个玩笑。您在拉我们的腿还是应该详细说明?

2
@RandomUser,是我第二次查看VanillaJS页面时得到的。第一次,我认为这是一个简单的帮助程序库,当浏览器开始实现其功能时,该库后来成为“ JS的一部分”。所以它对我不感兴趣。
Jesvin Jose

1
@aitchnyu EXACTLY我的想法!难怪我的维基百科编辑被拒绝了:P
DividedByZero 2014年

1
不要与著名的蒸气js在一起。
尼尔

1
@baultista IIRC,当我指的是POJO(普通的旧Java对象)时,我看到有人开玩笑说这是一种既定的模式,但是它需要一个很酷的名字才能与其他选择竞争。
Jesvin Jose

Answers:


65

这是个玩笑,或更有趣的是,它提出了一个点子。“香草X”是指“以最基本的方式出现的X”或“没有任何多余内容的X”,因此“香草JS”是浏览器公开的JavaScript。VanillaJS是本机JavaScript。其中包括DOM,各种新型API和核心语言功能。它不包括第三方代码,即通常称为库或框架的代码。它背后的人们可能想通过将其框架化为像第三方框架营销这样的方式指出这样做的优势。在JavaScript世界中,有一种趋势,或者至少曾经有一种趋势,是将框架扔在每个问题上,而不管“原始” JavaScript的解决方案多么微不足道。


2
并不是DOM的同义词,但是我明白你的意思。使用“ VanillaJS”来操作DOM,必须知道各种DOM实现之间的所有不同陷阱。如果使用jQuery操作DOM,则只需知道jQuery公开的抽象DOM。
Andrew Hoffman

1
@AndrewHoffman:实现之间的差异并不像以前那样大。既然IE对标准一无所知,那么如今,人们可以轻松编写与浏览器兼容的代码。
cHao 2014年

6
JavaScript引擎(v8,spidermonkey,chakra)不包含DOM。DOM是由浏览器环境添加的。
停止危害莫妮卡

6
关于这个话题的大笑话:needsmorejquery.com
Almo

2
@RandomUser DOM api不是语言Javascript本身的一部分。这是兼容浏览器应实现的W3C标准。例如,请参见此链接,其中他们定义了元素是什么: w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/…,以及此链接,其中定义了如何在Javascript中公开DOM:w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/…–
Paul
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.