JavaScript的功能列表

时间:2011-03-12 12:31:36

标签: javascript

我可以轻松找到Flash或Silverlight的功能,但很难找到JavaScript可以做的事情。

是否有人可以向我提供主要JavaScript功能列表?

(类似于:使用文件系统,Web cam支持,JSON解析,套接字支持等)


更新

如果你说它取决于平台,那么这样做:平台 - 功能列表,平台 - 功能列表......

问题是没有人想出所有Javascript平台的完整功能列表。


更新

Javascript - 是一种语言..但在我看来,它也是一种客户端技术(它是作为浏览器的插件开发的,与F​​lash一样,与Silverlight相同)

Silverlight可以在浏览器中工作(我可以找到该'模式'的功能列表)和OOB(在浏览器之外,我也可以找到该'模式'的功能列表),但我找不到JavaScript的功能列表...我是唯一对此感兴趣的人吗? :)

5 个答案:

答案 0 :(得分:9)

我认为问题没有得到妥善解决。 Javascript可以做任何事情,因为它是Turing完整的(特别是任何图灵完整语言都可以进行JSON解析),但是对外部资源(例如套接字或网络摄像头)的访问仅限于在特定环境中可用的API。 / p>

所以它取决于环境:对于浏览器,node.js或rhino,答案会有所不同。如果你的意思是浏览器中的Javascript:不多。基本的可用API是DOM和BOM,尽管HTML5会有一些用于存储和套接字的新功能。

编辑我已阅读您的更新,我认为要求提供每个现有环境的功能是不合理的。尽管如此,在我看来,你最感兴趣的是客户端Javascript的功能 - 即在浏览器中。直到最近,还有一个与以下两个API相关联:

  • DOM:允许遍历和修改文档对象模型,即对当前页面的内容进行操作。它可以添加div或其他元素,更改元素样式等。
  • BOM:浏览器对象模型。它允许您操作与当前文档无关的浏览器功能,例如调整当前窗口的大小。特别是这包括
  • XMLHttpRequest:允许您在后台发出HTTP请求,它是所有AJAX驱动的应用程序的基础。出于安全原因,您可以在何处发送此请求的域名限制:这些被称为same origin policy

出于明显的安全原因,有(并且仍然没有)对本地文档进行操作的方法。随着HTML5的出现,有许多新的API,其中一些仍在大力开发中。通常,您不能依赖旧版浏览器上的API。

This presentation总结了所有客户支持HTML5后可用的新商品。

除了DOM和BOM API,您还可以使用 Web API 。请注意,XMLHttpRequest是一个Web API。您可以在此链接中查看完整列表:https://developer.mozilla.org/en-US/docs/Web/API

答案 1 :(得分:6)

Flash和Silverlight都是平台,因此有一个已知的平台支持的列表。

JavaScript是一种语言而非平台。在“使用文件系统”或“网络摄像头支持”方面,它所做和不支持的事情列表实际上取决于运行该语言的平台。

大多数人在大多数情况下都会在网络浏览器中运行JavaScript,所以它支持的列表更多地是关于网络浏览器允许您使用JavaScript访问的内容。

通常,这意味着无法访问不受限制的文件(出于安全原因)。可以访问网络摄像头,具体取决于浏览器和版本。

但总的来说,我认为你可能需要重新思考你提出的问题,因为你可能真的很有意思 - “在网络浏览器的环境中,我可以做什么,不能做什么”。如果做不到这一点,你可能会说,“JavaScript支持哪些语言功能” - 在这种情况下,您应该能够找到许多JavaScript作为语言的描述并与其他语言进行比较。

答案 2 :(得分:5)

Javascript最初是编程语言,它与HTML文档上的用户界面进行交互。

DOM / HTML上的Javascript可以:

  • 在文档中应用,更改,取消设置元素的CSS样式
  • 添加,修改,删除文档元素
  • UI事件处理(例如onclick,onchange等)
  • AJAX,JSON等

经过多年的发展和扩展,语言现在依赖于平台的能力。

例如,在Adobe AIR上,Javascript的功能可以与普通的C#应用​​程序一样广泛(意思是说您可以编写Javascript来读/写文件,网络摄像头,JSON解析,套接字等)。

基本上我的观点是,Javascript最终只是一种语言。您可以在多个平台上运行相同的语言,并且您作为开发人员使用Javascript访问平台预定义的对象。

答案 3 :(得分:1)

Flash和Silverlight是第三方网络浏览器插件,其中javascript被内置到大多数浏览器中(除了一些基于文本/不可用的浏览器)。 Javascript是一种客户端脚本语言,这意味着所有处理都在访问者计算机上完成。

我可以告诉你,你无法使用文件系统,即。出于明显的安全原因,在服务器或客户端计算机上创建/编辑/删除文件。您可以解析JSON,因为它是javascript对象表示法。您可以进行表单验证,但始终最好进行服务器端验证以确保数据质量。在提交数据之前进行验证的原因是为了保存服务器的运行之旅,并为用户提供与普通桌面应用程序一样的安装反馈。您可以使用javascript创建图表,并且总是加载支持和教程。

你有什么具体的想法?

答案 4 :(得分:0)

Javascript可以做的一些事情:

  • 处理事件。它可以捕获某些事件(例如,按一个键),然后执行一个函数(例如,更改页面上元素的大小);
  • 向服务器发送请求,从而与服务器进行交互;
  • 访问并操作页面上的任何元素。

它也是面向对象的编程语言,因此它支持诸如类,继承,变量等概念。

Javascript(在浏览器环境中)无法做到的一些事情:

  • 使用数据库;
  • 创建,修改或删除文件;