JavaScript简介

本文不是参考手册式文章,仅适用于对JS产生一个大致的认知,如需JS的详细语法与应用请移步w3school

JavaScript是什么?

JavaScript的诞生

在1995年前后,当时世界上的主流带宽为28.8Kbps,现在世界平均下载带宽为21.9Mbps(数据来源于http://www.netindex.com)。当时的网民,每提交一次表单,都需要等待很久才能收到服务器的回应,甚至很可能等了几分钟收到的却是说缺少了某一项。为了改善用户体验,嵌入浏览器客户端的能实现简单表单判断的脚本诞生了,这就是JavaScript。

JavaScript最早是工作于Netscape (网景公司)的 Brendan Eich为即将在1995年发行的NetscapeNavigator 2.0(NN2.0)开发的,当时叫做LiveScript。由于当时是和非常热门的Sun公司合作的,为了赶上当时的潮流——Java语言,这门语言被命名为JavaScript。

JavaScript跟Java有什么关系?

这也是外行人听到JavaScript的第一反应,也是这门语言被诟病最多的问题之一。

严格的说,没有半毛钱关系。如果非要扯上关系,也许就是两者的部分函数相同、面向对象思想、判断结构、循环语句相同等等等等,但这些显然不是Java的专利,而是编程语言的共识。

JavaScript的标准化及发展历史

JavaScript推出时,用户体验更好的NN 浏览器主宰了浏览器市场,而微软一直在追赶。在推出IE3的时候,微软发布了VBScript并以JScript为名,实际上和Netscape的JavaScript没有多大区别(用今天的话来讲就是山寨)。面对微软的竞争,Netscape和Sun公司将自己的JavaScript草案提交给ECMA(欧洲计算机制造商协会)对JavaScript进行了标准化,最后形成了ECMAScript 的第一个版本(ECMA-262)。

有意思的是,网景公司在标准化JavaScript之后,内部却出现了问题,JavaScript的研究停滞,而微软则趁机赶超,推出了IE4,内置了第一个遵循ECMA规范的JavaScript引擎,比NN提前了一年。再加上微软系统逐步占领计算机操作系统市场,其预装的IE浏览器市场份额逐渐加大,NN不断被挤占市场。然而,当微软失去了最大的对手后,它就没有了发展的动力,IE6~IE8,无论是界面渲染还是脚本执行,都互不兼容,成为浏览器史上的一朵奇葩,也是前端开发者的噩梦。

代码如下:

1.v1 1997年06月 首版
2.v2 1998年06月 格式修正,以使得其形式与ISO/IEC16262国际标准一致
3.v3 1999年12月 强大的正则表达式,更好的文字链处理,新的控制指令,异常处理,错误定义更加明确,数输出的格式化及其它改变
4.v4 未完成...可能更明确的类的定义,命名空间等等...
5.v5 2009年12月  新增“严格模式(strict mode)”,一个子集用作提供更彻底的错误检查,以避免结构出错。澄清了许多第3版本的模糊规范,and accommodates behaviour of real-world implementations that differed consistently from that specification。增加了部分新功能,如getters及setters,支持JSON以及在物件属性上更完整的反射。

****2004年6月欧洲计算机制造商协会发表了ECMA-357标准,它是ECMAScript的一个扩延,它也被称为E4X(ECMAScript for XML)。

JavaScript跟ECMAScript有什么关系?

其实问题应该是JavaScript、JScript、ECMAScript三者有什么关系。实际上,ECMAScript是总的规范,JavaScript和JScript都是依照这个规范开发的,和ECMAScript相容,但包含了超出ECMAScript的功能。不过,现在无论是哪种,都通称为JavaScript,只因其最早出现,影响力最大,名字流传至今。

JavaScript能干什么?

网页上面,一切需要逻辑处理的操作都可以由JavaScript来完成。譬如:

代码如下:

•表单验证
•动画效果
•网页游戏
•倒计时
•……

还有很多很多种应用,在这里不赘述,相信大家学会这门语言之后会发现很多应用到的地方。

为什么要学JavaScript?

1.因为你别无选择,只有JavaScript可以控制所有常用的浏览器,而且JavaScript是世界上最重要的编程语言之一,学习web技术必须学会JavaScript。

2.JavaScript是一种优美的语言,它很好,所以我们要学

JavaScript的定位

代码如下:

1.JavaScript是一门轻量级的脚本语言,不需要编译,由JavaScript解析引擎解析运行(一般指浏览器,当然不排除node之类的解析器)
2.JavaScript拥有非函数式语言特性、函数式语言特性和动态语言特性,它的语法非常灵活
3.JavaScript是一门面向对象的编程语言,在JavaScript界有一句话:万物皆对象。其继承是基于原型的继承(我之前已经专门写了一篇阐述原型继承的文章)
4.JavaScript是一门类C语言,所以只要学过C的人都很容易上手JavaScript
5.JavaScript的编写不需要编译器,而只需要文本编辑器(记事本就免了,这里强烈推荐sublime text)

JavaScript有什么?

现在大家用的JavaScript包含了三大部分:DOM、BOM、ECMAScript(或称core js)。

DOM

这里默认大家对HTML、CSS至少有所了解,如果是直接跳过HTML、CSS来看本文的话,先看此处。

DOM,文档对象模型(document object model)

我们知道,XHTML要求标签必须闭合,嵌套必须正确。而标签的嵌套,就产生了父子关系(或者说,祖先-后代关系)。而DOM,提供了大量的API,让我们可以轻松操作DOM树。后面我会开一篇文章专门讲JS DOM。

使用DOM,我们能动态修改页面内容,调整样式等等,这也是JS多样化的一个体现。

BOM

BOM,浏览器对象模型(brower object model)

和DOM类似,只不过主体变成了浏览器。浏览器同样提供了大量的API,其中部分对JS开放,为我们提供了操作浏览器窗口的方法。

常见用处:

代码如下:

1.弹出新浏览器窗口的能力;
2.移动、关闭和更改浏览器窗口大小的能力;
3.可提供WEB浏览器详细信息的导航对象;
4.可提供浏览器载入页面详细信息的本地对象;
5.可提供用户屏幕分辨率详细信息的屏幕对象;
6.支持Cookies;
7.Internet Explorer对BOM进行扩展以包括ActiveX对象类,可以通过JavaScript来实现ActiveX对象。

ECMAScript core

也叫JS core,随便怎么叫,意思一样,都是表示JS这门语言的核心组成,包括变量定义,垃圾回收,语法,作用域等等。和上面提到的DOM和BOM不同,它们只要求我们能使用这些API,而ECMAScript core则是这门语言的精髓所在,需要不断钻研。下一章将进一步讲JS的语法。

JavaScript的使用

行内式

行内式即写在标签中的JavaScrip,例如我们在HTML中写入:

代码如下:

<button onclick="alert('be clicked');">点击</button>

当我们点击按钮时,将会弹框显示"be clicked"。
但注意,强烈不建议这么做,因为这样会给维护带来巨大的麻烦,每次需要更改事件我们都需要先找到该元素,然后修改其javascript内容,而且这些javascript代码也无法复用。

另外,写在标签中的事件需要带'on',而且标签内只能通过事件引入js,而不能写简单的js表达式

内嵌式

内嵌式即在html的script标签中写js代码,做法是在HTML中新增一个script标签,然后在标签中间插入你的任意js代码,如下:

代码如下:

<html>
    <body>
        <button id="btn">点击</button>
    </body>
    <script>
        <span style="font-family: Arial, Helvetica, sans-serif;">var btn = document.getElementById("btn");</span><pre name="code" class="javascript">        btn.onclick = function() {
            alert("be clicked");
        }
</script></html>

用内嵌式的话,就比行内式自由很多,可以写更多的代码,也可以避免引号的转义问题,维护也变得更轻松。但问题也是存在的,这些代码只能适用于这个页面,而无法被其他页面使用。

外联式

外联式把以上两种形式的缺点全部解决了。做法如下:

先新建一个文件,把后缀改为.js。例如,我们新建一个click.js文件,然后把刚才写的内嵌式里面的js代码拷贝进去(注意不包括script标签)

代码如下:

var btn = document.getElementById("btn");
btn.onclick = function() {
     alert("be clicked");
}

然后在HTML中通过script标签引入

代码如下:

<html>
    <body>
        <button id="btn">点击</button>
    </body>
    <script src="click.js"></script>
</html>

这样的好处在于同样的js代码可以被多个HTML页面共享,坏处是增加了文件数,增大了请求所需时间,所以应增强代码的复用性,并且最后要合并js文件(把不同的js文件合并成一个js文件)

(0)

相关推荐

  • javascript 基础简介 适合新手学习

    1. 关于JavaScript简单介绍 Ø 在网络或书籍所说的JavaScript大部分指客户端JavaScript. Ø JavaScript是一种轻量型.解释型.面向对象的编程语言. Ø JavaScript特性 1) 控制文档的外观和内容 2) 控制浏览器 3) 和HTML表单的交互 4) 和用户的交互 5) 用Cookie读写用户状态 6) 其它 2. 词法结构 2.1. 字符集 JavaScript程序是用Unicode字符集编写的. 2.2. 区分大小写 JavaScript是一种区

  • 编程语言JavaScript简介

    JavaScript 是什么? JavaScript 是一种广泛应用于客户端网页(浏览器)开发的脚本语言,如用来给 HTML 网页添加动态功能,比如响应用户的各种操作等.JavaScript 是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言,大部分情况下是由网页浏览器来执行的. JavaScript 是美国 Sun 公司的注册商标,目前 Javascript 的最新版本为 1.9 版,遵循 Ecma 国际(前身为欧洲计算机制造商协会)的 ECMA-26

  • JavaScript简介_动力节点Java学院整理

    JavaScript是一种基于对象(Object)和事件驱动(EventDriven)并具有安全性能的脚本语言.使用它的目的是与HTML超文本标记语言实现在一个Web页面中连接多个对象,与Web客户交互作用.javascript的出现使得网页和用户之间实现了一种实时性的,动态性的,交互性的关系,使网页包含更多活跃的元素和更加精彩的内容. 同时javascript短小精悍,在客户机上执行,大大提高了网页的浏览速度和交互能力. 再者,我们看一下javascript的特点: 1,JavaScript是

  • JavaScript简介

    本文不是参考手册式文章,仅适用于对JS产生一个大致的认知,如需JS的详细语法与应用请移步w3school JavaScript是什么? JavaScript的诞生 在1995年前后,当时世界上的主流带宽为28.8Kbps,现在世界平均下载带宽为21.9Mbps(数据来源于http://www.netindex.com).当时的网民,每提交一次表单,都需要等待很久才能收到服务器的回应,甚至很可能等了几分钟收到的却是说缺少了某一项.为了改善用户体验,嵌入浏览器客户端的能实现简单表单判断的脚本诞生了,

  • Javascript 入门基础学习

    一.JavaScript简介: 学习JavaScript之前,有些东西你需要先了解: HTML XHTML 我觉得这些不需要太深入,懂个大概就行. JavaScript是: JavaScript 被设计用来向 HTML 页面添加交互行为. JavaScript 是一种脚本语言. JavaScript 由数行可执行计算机代码组成. JavaScript 通常被直接嵌入 HTML 页面. JavaScript 是一种解释性语言. 所有的人无需购买许可证均可使用 JavaScript. 这些都是一些书

  • JavaScript基础知识学习笔记

    JavaScript简介 一.定义:JavaScript是脚本语言,需要宿主文件,它的宿主文件是html文件. JavaScript 是一种轻量级的编程语言. JavaScript 是可插入 HTML 页面的编程代码. JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行. 二.用法: 在html中的位置有三块: 1)head里面: 2)body里面: 3)</html>之后,为了保险起见一般写在</html>之后.<script language=&quo

  • 清华大学出版的事半功倍系列 javascript全部源代码

    清华大学出版的]<事半功倍系列 javascript>,本人照着书敲出来的,有些翻译了一下.前几年看了一下,最近无事,重新翻了翻,很有帮助.本书应该有光盘的,但学校的书,光盘不知在哪.希望对你学 javascript有帮助 第一章javascript简介 1.在地址栏输入javascript语句 Javascript:Document.write("显示文字") 2.将javascript嵌入 HTML文档 <script language=javascript>

  • JavaScript组成、引入、输出、运算符基础知识讲解

    javascript简介: JavaScript 是属于网络的脚本语言! JavaScript 被数百万计的网页用来改进设计.验证表单.检测浏览器.创建cookies,以及更多的应用. JavaScript 是因特网上最流行的脚本语言. 下文重点给大家介绍js组成,引入,输出,运算符基础知识,具体详解如下所示: JavaScript组成: ECMAscript 浏览器对象模型 BOM 文档对象模型 DOM // ecmascript bom dom dom (文档对象模型) 用来访问和操纵htm

  • javascript 初学教程及五子棋小程序的简单实现

    一.JavaScript简介 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能. 二.hbulider工具的使用 1) hbulider的特点: 1.飞快的编码速度 2.HBuilder直接创建移动App,打包为ios或Android原生安装包 3.HTML5语法.HTML5+

  • JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)

    一.JavaScript简介 JavaScript是一种解释执行的脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型,它遵循ECMAScript标准.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,主要用来给HTML增加动态功能. 几乎所有主流的语言都可以编译为JavaScript,进而能够在所有平台上的浏览器中执行,这也体现了JavaScript的强大性和在Web开发中的重要性.如Blade:一个Visual Studio扩展,可以将C#代码转

  • 推荐ASP超速入门视频教程

      [基础操作][本教程全部更新完]     1.初识网页 2.动态网页和静态网页概述 3.ASP概述 4.IIS的安装和设置 5.浏览ASP页面 6.创建一个简单的ASP程序 [利用脚本语言创建动态网页]     7.脚本语言概述 8.VBScript简介 9.数据类型 10.声明变量 11.命名的规则 12.运算符 13.流程控制语句 14.JavaScript简介 15.基本结构和语法 16.变量规则 17.JS流程控制语句 18.总结 [ASP基本语法]     19.ASP程序的特点

随机推荐