本文将介绍JavaScript的特别之处,为什么要使用JavaScript,以及web开发的其它相关技术的优缺点。

什么是JavaScript?

JavaScript是一种脚本语言,为装饰网页而生。它使得网页可以做更多的事情。

除了名字与Java相关外,此语言和Java没有太多关系,JavaScript的语言规格称为ECMAScript

JavaScript中的程序称为脚本,它不是一种汇编语言,要运行它,你仅需要写一段脚本,并把之添加到Html代码中。

一些人认为JavaScript很像Python,也有人认为它和Ruby或Self很类似,然而JavaScript是一种优雅,特殊而且独立的语言。

JavaScript能做什么?

修饰HTML页面,输入文本,添加删除标签,改变样式等等;

监听事件,并执行相关代码,如鼠标点击,移动,键盘输入等等;

像服务器发送请求,在没有reload的情况下加载数据(ajax..);

获取以及设置cookie,请求数据,输出信息等等;

..以及更多其它强大的功能;

JavaScript不能做什么?

JavaScript是一种快速且强大的通用语言。但是以浏览器为允许环境就使得它有一些安全方面的限制。这是因为你当然也不希望网页在你的设备上胡作非为(读写你的文件,安装莫名其妙的软件..),因此脚本语言具有严格的安全限制,你也能够放心的打开一些页面。

JavaScript的作用大多被限制在一个浏览器窗口内

JavaScript不能读写硬盘里的资料,复制文件或者调用其它的程序,它没有直达系统的权限(一些较新的浏览器在安全的范围内提供这样的能力);

某一页里面的javaScript不能影响其它页或窗口里面的页面,也有例外,当两个窗口同域时(same domain).

一个拥有JavaScript的页面能够在当前域内无限制的进行网络请求,在有安全措施的前提下对其它域进行网络请求也是可能的。

JavaScript最酷的地方是哪里?

最酷的地方至少体现在三方面。

与Html/Css的完美整合;

简单的事情可以简洁的完成;

被所以浏览器默认支持;

其它任何web开发技术都做不到这三点,而且JavaScript是一门不断发展的语言,新的特性也在不断的被加入,现代的ECMAScript标准在不断的带来新特性,新的JavaScript引擎也工作得越来越快,越来越好。

JavaScript的趋势,Html5(注,本文成文时,Html5标准还未正式通过)

当你准备学习一种新技术,了解该技术的发展趋势,能使得你的时间投资更具价值。

除了当前的ECMAScript标准增进了语言的本身,浏览器开发商也在不断的采用Html5技术,这是一种相对的标准,更准确的说是一种领先标准,其中包含了许多可能你需要等待很多年才能通过的技术。以下是一些例子:

在保证安全的情况下,读写访问者硬盘里的一些文档;

在浏览器内内嵌数据库,允许在客户端存取一些数据;

多线程运行;

视频录播;

使用硬件加速,绘制2D,3D图形(类似于现代游戏);

Html5这个名字可能存在一定的误导性,正如你可能已经知道的这个新标准并非仅仅关于Html,也包括更强大的浏览器特性;

趋势在于,JavaScript在增强其自身的能力,变得越来越强大,尝试着达到桌面app的能力;

现代浏览器在改善其引擎,已达到更快的JavaScript解释速度,它们同样修复着bug,并紧随着新标准改善自己;

这个趋势是,JavaScript变得更快更稳定;

同样值得注意的是新的Html5标准和ECMAScript6标准是兼容老的标准的,这意味着老的页面也能正确的运行。

不过,诚实说来,Html5也有一些小的问题,即“浏览器跑得太快了”,一些特性还只是草案,但是由于该特性太出色,一些浏览器迫不及待得就采纳了它。因此在使用这些特性时,应该考虑其兼容性问题。

这个趋势是,新的特性是具有较好的兼容性的除了少数浏览器采纳的了教超前的特性。

其它的一些web开发技术简介

在一些方面,JavaScript是受限的,这就是为什么其它的一些技术会被采用。而且这些技术能够较好的和JavaScript配合使用,当我们只用JavaScript不能处理一些问题时,我们可能可以通过JavaScript + Java或JavaScript + Flash或JavaScript + ActiveX来解决。

Java

你已经知道JavaScript和Java并没有太大的关系,Java是一种允许你写小程序并内嵌到Html页面中的语言。

一个Java小程序就像一个可以在浏览器中运行的文件,程序员用Java编写,编译并在html页面中链接到它,当浏览器打开了一个页面,将会找到这个链接,引用,下载并执行它(Java环境支持);

Java小程序和JavaScript最大的区别在于它们的能力:

像安装的程序一样,Java小程序能够做任何事情,出于安全方面的考虑,一个不安全的操作需要使用者的确认。

Java开发很容易,众多IDE非常完善;

Java需要更长的时间加载,开始运行占用资源更多;

运行系统需安装并开启Java环境;

Java并没有和html整合,它在页面里的一个单独的容器中运行;

Adobe Flash

flash最初是为多媒体而生,并且具有跨浏览器跨平台的特性,配合动画,音频,视频它使得web页面更加生动,flash也有一些其它的有趣的特性。

一段flash电影是一段用ActionScript写的编译程序,通常捆绑有图片和一些其它的资源。

非常适合网络访问(sockets, UDP for P2P);

与Html5相比,支持更复杂的多媒体,对图片,音频,视频支持更好,也支持相机和麦克风;

制作flash具有较好的IDE,与浏览器的兼容性非常好;

需要预先安装并允许使用falsh;

Flash并没有和html整合,它在页面里的一个单独的容器中运行

Flash具有和JavaScript一样严格的安全限制;

目前,falsh在很多方面的垄断面临较大的压力,比如说Html5原生只是播放视频,绘制动画等等,支持Html5的浏览器就不再需要Flash做视频音频方面的事情了。

falsh和Java都能够调用JavaScript,反之亦然,因此一个网站通常大多使用JavaScript,在JavaScript力不能及的地方使用Flash或者Java;

ActiveX,浏览器插件和拓展

ActiveX是一个非常好的但是ie独享的事物,它允许当用户访问时,页面中整合进用c语言写的程序。

和html/css具有较好的整合;

用c语言撰写,功能丰富允许快速;

如果用户允许,可以做任意事情;

IE专属,Chrome在用户允许的情况下部分支持;

ActiveX开发比较困难;

windows上的程序能够通过ActiveX整合,因此,一个页面可以调用Word,加载一个文档进入Excel等。

其它浏览器允许通过使用NPAPI撰写插件和拓展。

其它的一些技术:Silverlight, XUL, VBscript

这些技术的使用范围相对窄一些。

XUL是一种为接口而生语言,如果你为火狐浏览器写拓展,它非常有用,对一些桌面应用来说也很有用;

Silverlight是微软基于.net开发的与flash做竞争的产品,在windows上运行较快,也在逐渐改善跨平台的支持能力,常用于内联网和基于Windows的应用;

VBscript是微软基于Visual Basic开发的一种类似JavaScript的语言,已经过时,现在不再开发,和JavaScript比起来,其缺乏很多功能;

总结

JavaScript的独特处体现在它的广泛使用和与Html/Css整合最好。

JavaScript具有最光明的和或多或少兼容的未来;

一个好的JavaScript程序员也应该了解一下其它的语言,在特殊的场景下可能会用到它们。

有用的链接

java flash 开发_web开发相关技术概述(JavaScript, Flash, Java, Silverlight and ActiveX)相关推荐

  1. 大数据、云计算、物联网相关技术概述——《大数据技术原理与应用》课程学习总结

    在学习大数.云计算以及物联网相关概念之前,先了解一下大数据的背景吧 1.1 大数据时代 1.1.1 第三次信息化浪潮 三次信息化浪潮: 信息化浪潮 发生时间 标志 解决问题 代表企业 第一次信息化浪潮 ...

  2. android 调用java类_Android中在WebView里实现Javascript调用Java类的方法

    搜索热词 为了方便网页和Android应用的交互,Android系统提供了WebView中JavaScript网页脚本调用Java类方法的机制.只要调用addJavascriptInterface方法 ...

  3. text对应java类型_【JavaWeb】79:JavaScript和Java的关系?

    今天是刘小爱自学Java的第79天. 感谢你的观看,谢谢你. 话不多说,开始今天的学习: 一.JavaScript概述 JavaScrip和Java到底有什么关系呢? 令我无比惊讶的是,就本质而言它们 ...

  4. java js 正则区别_对比正则表达式在JavaScript与Java中的区别

    这篇文章主要介绍了JavaScript与Java正则表达式写法的区别介绍,需要的朋友可以参考下 Js验证写法:(转义符\) var str = "待验证文本"; var regul ...

  5. 【VS开发】COM组件技术概述

    这篇文章对COM做出来比较完整的解释,非常好. COM是微软公司为了计算机工业的软件生产更加符合人类的行为方式开发的一种新的软件开发技术.在COM构架下,人们可以开发出各种各样功能专一的组件,然后将它 ...

  6. java web特点_Web开发特点

    首先,看Web开发的特点与需求: 优先: 1.实现页面可视化 2.可方便地实时修改代码 3.可方便地部署 4.可方便地与不懂程序的美工合作 后置: 1.页面正确性 2.程序正确性 3.数据安全性 4. ...

  7. 微信小程序开发需要的相关技术

    用业余时间学习微信小程序一个月以来,我一头雾水好久.但终于逐渐搞清楚都需要学习那些东西,分享给大家.希望对大家有帮助.大体有8个知识模块: -- 1.要学习WXML(腾讯自己搞的语言--类似于 Htm ...

  8. 一对一直播软件源码开发,直播相关技术详解

    一对一直播软件源码中直播流程图 一.数据采集 通过一对一直播软件源码移动设备的端麦克风摄像头采集音视频数据. 视频采集 AVCaptureDevice 前后摄像头作为视频源生成输入 AVCapture ...

  9. java页面要素_Web前端入门技术之网页制作三要素

    原标题:Web前端入门技术之网页制作三要素 Web前端技术开发是由网页制作演变而来的,主要由HTML.CSS.Java三大要素组成.专业的Web前端开发入门常识也必定会包含这些内容,今日千锋教师就给我 ...

最新文章

  1. mysql 用户 多主机_MySQL单主机多实例部署
  2. JavaScript中获取表单信息并添加在表格中
  3. reverse函数实现vector变量的翻转
  4. boost::gil模块数字扩展中的 convolve_rows() 和 convolve_cols() 示例
  5. C语言 函数值传递和址传递 - C语言零基础入门教程
  6. Centos yum install和yum groupinstall的区别
  7. 【英语学习】【WOTD】valetudinarian 释义/词源/示例
  8. 别惹老黄!英伟达遭网络攻击后,反手就把黑客黑了
  9. java8循环_Java8里请不要再使用循环语句
  10. Linux软连接 删除/查看
  11. python -- 连接 orclae cx_Oracle的使用
  12. php ai格式生成png,AI怎么生成透明png? ai导出PNG格式透明背景图片的教程
  13. 用linux云服务器搭建自己的网站
  14. Android xml里面product的值来自哪里以及怎么影响编译?
  15. iOS图片压缩成指定大小
  16. Flutter Dio 网络接口与请求数据
  17. html+css知识点全面总结(三)
  18. ChatGPT到底是个啥 - 它甚至会和狗说话
  19. 201671030109 韩艳艳 实验三作业互评与改进报告
  20. Geb UI 自动化手册(4: 页面内容交互)

热门文章

  1. PS教程!手把手教你创建酷炫赤焰的岩石字效
  2. “你们这些月入10万的人,挺可怜的…”
  3. idea Git Pull Failed refusing to merge unrelated histories
  4. 2010户外品牌排名 骆驼能排到第几位??属于哪个档次的产品。
  5. 我为什么all in了mfers
  6. 华为云ModelArts的简单使用
  7. Oracle vmbox 硬件加速灰色,雨林木风win7系统中硬件加速的选项变成了灰色该如何处理...
  8. wap兼容问题,以及测试模拟器
  9. python和pythonamd64_python amd64什么意思-问答-阿里云开发者社区-阿里云
  10. 微信小程序 Springboot 英语单词学习激励系统uniapp