什么是VanillaJS?

use*_*911 688 javascript

我有一个简单的问题,在我的脑海里停留了几天:什么是VanillaJS?有些人将其称为框架,您可以从官方页面下载库.

但是,当我查看一些示例或TodoMVC时,他们只使用经典的原始JavaScript函数,甚至不包括官方页面中的库或任何东西.此外,官方网页上的"文档"链接也会导致JavaScript的Mozilla规范.

我的问题是:VanillaJS是原始JavaScript吗?如果是的话,当你需要的是没有任何特殊包含脚本的浏览器时,为什么人们将它称为"框架"?

对于一个可能很愚蠢的问题我很抱歉,但当他们说"VanillaJS"时我不知道人们在谈论什么.

Thi*_*ter 582

这是VanillaJS(未经修改):

// VanillaJS v1.0
// Released into the Public Domain
// Your code goes here:
Run Code Online (Sandbox Code Playgroud)

如您所见,它不是真正的框架或库.对于喜欢框架的老板或者认为你需要使用JS框架的人来说,这只是一个运行的插科打.. 这意味着你只需使用任何你的(为了你自己的缘故:非遗留)浏览器给你(使用Vanilla JS时,使用传统浏览器是一个坏主意).

  • 所以,当你看到你的社区wiki获得投票时,你决定删除并重新发布它? (33认同)
  • @BlueSkies:不.最初它只是代码块的第一部分.即一个"有趣"的答案.这就是我CW它的原因.然后我决定把它变成一个正确的答案,因为OP似乎已经提出了一个应该正确回答的合法问题. (22认同)
  • 仅供参考:Vanilla JS现在是0字节,压缩了25个字节. (13认同)
  • @BlueSkies:"使用传统浏览器时,简单("vanilla")JS是不好的事实"不是一个意见,这是事实.这就是为什么像jQuery和其他框架一样被发明的原因:在处理浏览器不兼容问题时简化你的生活!:)香草JS在2016年开始回归的唯一原因是大多数现代浏览器现在比过去更符合标准,所以你需要越来越少的框架(特别是如果你是一个javascript专家). (8认同)
  • 好吧,当一个人说某事是"坏主意"时,一个人表达的意见不一定是真的. (4认同)
  • 但StackOverflow适用于所有开发人员,不仅仅是大多数:) (2认同)

Koe*_*ers 371

使用"VanillaJS"意味着使用纯JavaScript而不需要任何其他库,如jQuery.

人们用它作为一个笑话来提醒其他开发人员,现在可以做很多事情,而不需要额外的JavaScript库.

这是一个有趣的网站,开玩笑地谈论这个:http://vanilla-js.com/

  • 网站http://vanilla-js.com/非常有趣:)有很多关于VaniliaJs的信息 (3认同)

Ben*_*ick 74

VanillaJS是库/框架免费javascript的术语.

它有时被讽刺地称为图书馆,对于那些可能被视为盲目使用不同框架的人来说,尤其是jQuery.

有些人到目前为止已经发布了这个库,通常只有一个空的或只有注释的js文件.

  • OTOH我喜欢浏览器的可移植性和简洁,高效的语法.jQuery给了我这一点,总的来说,它是一个非常好的设计选择 - 比依赖VanillaLongwindedAndBrowserIncompatible-JS要好得多. (5认同)
  • 太好了,如果你不必处理真实的DOM或浏览器问题.大多数人建立webapps.DOM操作和浏览器可移植性是jQuery被发明(作为Prototype.js改进)作为解决方案的问题.我同意@ NiettheDarkAbsol,对于纯算法代码jQuery是不相关的. (4认同)
  • @ThomasW我也喜欢可移植性和简洁,高效的语法.这就是为什么我编写`function doSomething(args){...}`然后在我的代码中我可以用比jQuery更少的代码来"doSomething".;) (3认同)

sim*_*eco 49

对于那些对JavaScript框架感到兴奋并且不了解纯Javascript的人来说,这是一个笑话.

所以 VanillaJS 和纯Javascript一样.

俚语中的香草意味着:

无趣,正常,传统,无聊

以下是YouTube上有关VanillaJS的精彩演示:什么是Vanilla JS?

  • 这真是一个愚蠢的笑话,对新手来说非常混乱.很明显,前端工程师喜欢在水面上浑浊,所以他们看起来比下一个人更了解. (3认同)

Ion*_*ger 45

简单的答案是肯定的,VanillaJS === JavaScript,由B. Eich博士规定.

  • 甚至Object.is(VanillaJS,JavaScript)当然除了IE. (17认同)

pri*_*ime 44

VanillaJS === JavaScriptVanillaJS是原生JavaScript

为什么, 香草说这一切!

计算机软件,有时还有其他计算相关系统,如计算机硬件或算法,如果不从原始形式进行定制,则称为vanilla,这意味着它们在没有应用任何自定义或更新的情况下使用(请参阅本文).所以香草经常指的是纯粹的或平淡的.

在英语中,Vanilla有类似的含义,在信息技术中,vanilla(发音为vah-NIHL-uh)是一个形容词,意思是简单的或基本的.或者没有特殊或额外的功能,普通或标准.

那么,为什么它命名为VanillaJS?正如公认的答案所说,有些老板想要使用框架(因为它更有条理,更灵活,可以完成我们想要的所有事情吗?)但是简单的JavaScript就可以完成这项任务.但是你需要在某处添加一个框架.使用VanillaJS ......

这是笑话吗?是

想要一些乐趣吗? 哪里可以找到它,http://vanilla-js.com/ 下载并亲眼看看! 它是0 bytes uncompressed, 25 bytes gzipped:D

在互联网上找到关于JS框架的这一双关语(不是要谴责现有的JS框架,但它们会让生活变得非常简单:)), 在此输入图像描述

还请参考,


Vin*_*nyG 5

"Vanilla JS"是一种在2012年出版讽刺网站后受欢迎的表达方式(http://vanilla-js.com/).这篇文章中有一节介绍其故事/意义.

那个笑话为什么呢?它是对旧学校依赖jQuery和其他JS库的反作用的现代回应.使用ECMAScript规范和现代浏览器功能,需要绕过普通的JS与外部库来保持浏览器之间的一致性,这已经不存在了.这是一个网站,通过具体示例向您展示这是多么真实:http://youmightnotneedjquery.com/