JavaScript的概述

JavaScript简介

  • JavaScript是一种轻量级的直译式编程语言,基于ECMAScript标准(注:一种由ECMA国际组织通过ECMA-262标准化的脚本程序语言)。

  • 通常在HTML网页中使用JavaScript为页面增加动态效果和功能。

    • 客户端页面表单数据验证
    • 使用JavaScript 动态改变网页元素。
    • 响应客户端鼠标和键盘事件。
    • 使用JavaScript动态的改变页面元素的样式,能制作出很有观感性的界面效果。
  • JavaScript和HTML、CSS一起被称为是Web开发的三大核心技术,目前JavaScript已经广泛应用于Web开发,市面上绝大多数网页都使用了JavaScript代码。

  • 可以说当今所有浏览器都支持JavaScript,无需额外安装第三方插件。

JavaScript起源

JavaScript最早是在1995年的时候由网景(Netscape)公司的Brendan Eich用了十天时间开发出来的,用于当时的网景导航者(Netscape Navigator)浏览器2.0版。最初这种脚本语言的官方名称为LiveScript,后来应用于网景导航者浏览器2.0B3版的时候正式更名为JavaScript。更名的原因是因为当时网景公司与Sun公司开展了合作,网景公司的管理层希望在他们的浏览器中增加对于Java技术的支持。该名称容易让人误以为该脚本语言是和Java语言有关,但实际上该语言的语法风格与Scheme更为接近。
1996年微软公司在其最新的IE3浏览器中引入了自己对 JavaScript的实现JScript。
于是在市面上存在两个版本的JavaScript,一个网景公司的 JavaScript和微软的JScript。
为了确保不同的浏览器上运行的JavaScript标准一致,所以几 个公司共同定制了JS的标准名命名为ECMAScript。

JavaScript的概述
时间表
JavaScript的概述
ECMAScript是一个标准,而这个标准需要由各个厂商去实现。
不同的浏览器厂商对该标准会有不同的实现。
JavaScript的概述
我们已经知道ECMAScript是JavaScript标准,所以一般情况下 这两个词我们认为是一个意思。
但是实际上JavaScript的含义却要更大一些。
一个完整的JavaScript实现应该由以下三个部分构成:
JavaScript的概述

JavaScript vs Java

因为名称的相近,JavaScript常被误以为和Java有关,但事实上它们是无论从概念还是设计上都毫无关联的两种语言。
JavaScript是Netscape公司的Brendan Eich发明的一种轻量级语言,主要应用于网页开发,无需事先编译;
而Java是由Sun公司的James Gosling发明的一种面向对象程序语言,根据应用方向又可分为J2SE(Java2标准版)、J2ME(Java2微型版)和J2EE(Java2企业版)三个版本,需要先编译再执行。
JavaScript的主旨是为非程序开发者快速上手使用的,而Java是更高级更复杂的一种面向专业程序开发者的语言,比JavaScript难度大、应用范围更广。

JavaScript的特点

  1. 脚本语言
    JavaScript是一种直译式的脚本语言,无需事先编译,可以在程序运行的过程中逐行进行解释使用。该语言适合非程序开发人员使用。

  2. 简单性
    JavaScript具有非常简单的语法,其脚本程序面向非程序开发人员。HTML前端开发者都有能力为网页添加JavaScript片段。

  3. 弱类型
    JavaScript无需定义变量的类型,所有变量的声明都可以用统一的类型关键词表示。在运行过程中,JavaScript会根据变量的值判断其实际类型。

  4. 跨平台性
    JavaScript语言是一种Web程序开发语言,它只与浏览器支持情况有关,与操作系统的平台类型无关。目前JavaScript可以在无需安装第三方插件的情况下被大多数主流浏览器完全支持,因此JavaScript程序在编写后可以在不同类型的操作系统中运行,适用于PC、笔记本电脑、平板电脑和手机等各类包含浏览器的设备。

  5. 大小写敏感
    JavaScript语言是一种大小写敏感的语言,例如字母a和A会被认为是不同的内容。同样在使用函数时也必须严格遵守大小写的要求使用正确的方法名称。

jQuery简介

jQuery这个名称来源于JavaScript和Query(查询)的组合,是一个轻量级的跨平台JavaScript函数库,拥有MIT软件许可协议。
目前主流浏览器基本上都支持jQuery。
jQuery秉承“write less,do more(写的更少,做的更多)”的核心理念,其语法能用让用户更方便地选取和操作HTML元素、处理各类事件、实现JavaScript特效与动画,并且能为不同类型的浏览器提供更便捷的API用于AJAX交互。
jQuery也能让开发者基于JavaScript函数库开发新的插件。
jQuery通用性和可扩展性相结合,它的出现将改变人们对JavaScript的使用方式。

jQuery发展史

jQuery最早是在2006年1月由一位美国的软件工程师John Resing在纽约BarCamp(注:一种国际研讨会网络,由参与者互相分享Web技术)上发布的。
John Resing既是jQuery的创造者,也是jQuery JavaScript函数库的核心开发者。
最初的jQuery1.0版正式发布于2006年4月26日,经历多次升级,直至2017年3月发布的jQuery3.2.1版为当前的最新版本。
目前jQuery是由Timmy Willison所领导的开发团队负责进行维护。
截止至2015年,jQuery已成为网络上使用范围最广泛的JavaScript函数库。根据Libscore的最新统计数据得出结论,目前流量排名最高的百万个网页中超过69%都在使用jQuery,其中比较著名的网站有:百度、腾讯、淘宝、新浪、Twitter、eBay、Linkedln等。
JavaScript的概述

jQuery的特点

  1. 轻量级封装
    网页使用jQuery所需要引用的JS文件只有32kb左右,几乎不会影响页面的加载速度。

  2. 化简JavaScript
    jQuery的选择器化简了JavaScript查找DOM对象的代码复杂度,基本只需要一行代码就可以查找各种HTML元素或更改指定元素CSS样式。

  3. 兼容CSS3
    兼容CSS3的选择器语法规则,可以根据元素的样式来快速查找HTML元素。

  4. 跨浏览器支持
    jQuery支持目前所有主浏览器,例如IE、Firefox、Safari、Opera、Chrome等。因此开发者不用担心浏览器的兼容性问题。

jQuery的版本比较

目前jQuery共有三种版本:
jQuery1.x
jQuery2.x
jQuery3.x

jQuery1.x版本:
该版本是使用最为广泛的jQuery版本,适用于绝大多数Web前端项目开发,兼容性较高。该版本本未来不会再增加新的功能,官网只做BUG维护。其最终版为2016年5月发布的jQuery1.12.4版。

jQuery2.x版本:
该版本与之前的1.x系列有一样的API,但是不支持IE6-8,因此使用人数相对较少。该版本未来同样不会再增加新的功能,官网只做BUG维护。其最终版为2016年5月发布的jQuery2.2.4版。由于IE8目前仍然比较普及,建议下载1.x系列。除非能确保没有任何用户使用IE6-8版本的来访问程序,再去使用2.x系列版本。

jQuery3.x版本:
该版本是目前最新的jQuery版本,最近一次是2017年3月发布的jQuery3.2.1版。该版本只支持IE9+、Opera最新版、以及其他主流浏览器的最新版及前一版。
需要注意的是,如果需要兼容IE6-8、Opera12.1x或者Safari5.1等旧版本的浏览器,官方建议使用jQuery1.12.x。

Web开发工具

JavaScript和jQuery源代码文件均为纯文本内容,电脑操作系统中自带的写字板或记事本工具就可以打开和编辑源代码内容。
因此本书不对开发工具作特定要求,使用任意一款纯文本编辑器均可以进行网页内容的编写。

这里介绍几款常用的网页开发工具软件:

  • Adobe Dreamweaver
  • Sublime Text
  • NodePad++
  • EditPlus

Adobe Dreamweaver

Adobe Dreamweaver是一款所见即所得的网页编辑器,中文名称为“梦想编织者”或 “织梦”。该软件最
初的1.0版是1997年由美国Macromedia公司发布的,后来该公司于2005年被Adobe公司收购。
Dreamweaver也是当时第一套针对专业Web前端工程师所设计的可视化网页开发工具,整合了网页开发与网站管理的功能。
Dreamweaver支持HTML5/CSS3源代码的编辑和预览功能,最大的优点是可视化性能带来的直观效果,开发界面可以分屏为代码部分与预览视图,开发者修改代码部分时预览视图会随着修改内容实时变化。
JavaScript的概述
Dreamweaver也有它的弱点,由于不同浏览器存在兼容性问题,Dreamweaver的预览视图难以达到与所有浏览器完全一致的效果。如需考虑跨浏览器兼容问题,预览画面仅能作为辅助参考。

Sublime Text

Sublime Text的界面布局非常有特色,它支持文件夹导航图和代码缩略图效果。该软件支持多种编程语言的语法高亮,也具有代码自动完成提示功能。
该软件还具有自动恢复功能,如果在编程过程中意外退出,在下次启动该软件时文件会自动恢复关闭之前的编辑状态。
JavaScript的概述

Notepad++

NodePad++的名称来源于Windows系列操作系统自带的记事本NotePad,在此基础上多了两个加号,立刻带了质的飞越。这是一款免费开源的纯文本编辑器,具有完整中文化接口并支持UTF-8技术。
由于它具有语法高亮显示、代码折叠等功能,因此也非常适合作为计算机程序的编辑器。
JavaScript的概述

EditPlus

EditPlus是由韩国Sangil Kim(ES-Computing)公司发布的一款文字编辑器,支持HTML、CSS、JavaScript、PHP、Java等多种计算机程序的语法高亮显示与代码折叠功能。
其中最具特色的是EditPlus具有自动完成功能,例如在CSS源文件中输入字母b加上空格,就会自动生成border:1px solid red语句。
开发者可以自行编辑快捷键所代表的代码块,然后在开发过程中使用快捷方式让EditPlus自动完成指定代码内容。
JavaScript的概述