专栏首页灵儿的笔记javascript简介,什么是 JavaScript?,JS的特征,开发环境

javascript简介,什么是 JavaScript?,JS的特征,开发环境

一、Javascript 诞生

当 Netscape Navigator 崭露头角时,Nombas 开发了一个可以嵌入网页中的 CEnvi 的版本。这些早期的试验被称为 Espresso Page(浓咖啡般的页面),它们代表了第一个在万维网上使用的客户端语言。而 Nombas 丝毫没有料到它的理念将会成为万维网的一块重要基石。

当网上冲浪越来越流行时,对于开发客户端脚本的需求也逐渐增大。此时,大部分因特网用户还仅仅通过 28.8 kbit/s 的调制解调器连接到网络,即便这时网页已经不断地变得更大和更复杂。而更加加剧用户痛苦的是,仅仅为了简单的表单有效性验证,就要与服务器进行多次地往返交互。设想一下,用户填完一个表单,点击提交按钮,等待了 30 秒的处理后,看到的却是一条告诉你忘记填写一个必要的字段。

那时正处于技术革新最前沿的 Netscape,开始认真考虑开发一种客户端脚本语言来解决简单的处理问题。

当时工作于 Netscape 的 Brendan Eich,开始着手为即将在 1995 年发行的 Netscape Navigator 2.0 开发一个称之为 LiveScript 的脚本语言,当时的目的是在浏览器和服务器(本来要叫它 LiveWire)端使用它。Netscape 与 Sun 及时完成 LiveScript 实现。

就在 Netscape Navigator 2.0 即将正式发布前,Netscape 将其更名为 JavaScript,目的是为了利用 Java 这个因特网时髦词汇。Netscape 的赌注最终得到回报,JavaScript 从此变成了因特网的必备组件。

因为 JavaScript 1.0 如此成功,Netscape 在 Netscape Navigator 3.0 中发布了 1.1 版。恰巧那个时候,微软决定进军浏览器,发布了 IE 3.0 并搭载了一个 JavaScript 的克隆版,叫做 JScript(这样命名是为了避免与 Netscape 潜在的许可纠纷)。微软步入 Web 浏览器领域的这重要一步虽然令其声名狼藉,但也成为 JavaScript 语言发展过程中的重要一步。

在微软进入后,有 3 种不同的 JavaScript 版本同时存在:Netscape Navigator 3.0 中的 JavaScript、IE 中的 JScript 以及 CEnvi 中的 ScriptEase。与 C 和其他编程语言不同的是,JavaScript 并没有一个标准来统一其语法或特性,而这 3 种不同的版本恰恰突出了这个问题。随着业界担心的增加,这个语言的标准化显然已经势在必行。

1997年,JavaScript1.1 为蓝本的建议被提交给了ECMA(European Computer ManufacturersAssociation欧洲计算机制造商协会)。定义了ECMAScript新脚本语言的标准(ECMA-262)。第二年,ISO/IEC(International Organization for Standardization and International Electrotechnical Commission,国标标准化组织和国际电工委员会)也采用了ECMAScript作为标准(ISO/IEC-16262),自此浏览器开发商就致力于将ECMAScript作为各自JavaScript实现的基础。

二、什么是 JavaScript?

JavaScript 被设计用来向 HTML 页面添加交互行为。

JavaScript 是一种脚本语言(脚本语言是一种轻量级的编程语言)。

JavaScript 由数行可执行计算机代码组成。

JavaScript 通常被直接嵌入 HTML 页面。

JavaScript 是一种解释性语言(就是说,代码执行不进行预编译)。

是一种基于对象和事件驱动的安全脚本语言。使用它的目的是与HTML超文本标记语言和java脚本语言一起实现在一个web页面中连接多个对象。起到与Web客户的交互作用,从而可以开发客户端的应用程序等。

三、JS的特征:

1)脚本语言

嵌入在html中执行

2)解释性语言

JS PHP

浏览器

ie js解释器

firefox js解释器

google js解释器

它的基本结构形式与c、c++、java十分类似。但它不像这些语言一样,需要先编译,而是在程序运行过程中被逐行(从上往下)地解释。它是需要嵌入到html页面中,让浏览器来解释执行的。

3)弱类型语言

var a = 3;

a = false;

强类型

int a = 3;

a = false;//报错

float b = 3.0;

boolean f = false;

4)事件驱动

我们在页面上的操作,例如 左键/右键的单击、双击,键盘上面的按键的监听,鼠标的移动 鼠标拖拽 鼠标滚轴的滚动等等事件的响应处理都可以交给javascript

5)动态性

javascript可以直接对用户或客户输入做出响应,无须经过web服务程序.

6)安全性

javascript不允许访问本地的硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失。

7)跨平台性(兼容性)

javascript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持javascript的浏览器就可正确执行,但是不同浏览器以及同一浏览器的不同版本对javascript的支持是不同的(浏览器的兼容性)

JavaScript的三个组成部分,在当前五个主要浏览器(IE,Firefox,Chrom,Safari,Opera)中得到了不同程度支持,其中,所有浏览器对ECMAScript3支持大体都还不错,对ECMAScript支持程度越来越高,但对DOM的支持彼此相差较多,对已经正式纳入HTML5标准的BOM来说,尽管各浏览器都实现了某些总所周知的共同特性,但其他特性还因浏览器而异。

四、JavaScript的实现

一个完整的JavaScript的实现应该包含:

核心 ECMAScript

文档对象模型 DOM

浏览器对象模型 BOM

1) ECMAScript

ECMA-262 定义的EMCAScript与Web浏览器没有依赖关系。浏览器仅是ECMAScript实现可能的宿主环境之一,宿主环境不仅提供基本的ECMAScript实现同时也提供该语言的扩展,以便语言与环境之间对接交互。扩展如DOMECMA规定了这门语言的组成部分

1,语法

2,类型

3,语句

4,关键字

5,保留字

6,操作符

7,对象

2) DOM(文档对象模型)

DOM(Document,Object Model) 是针对XML但经过扩展用于HTML的应用程序编程接口。DOM将整个页面映射成一个多节点结构。

html代码:

<html>

<head>

<title>hello</title>

</head>

<body>

<p>nihao </p>

</body>

</html>

dom模型

html

<!-- <body> --> \

head body

| |

title p

| |

'hello' '你好'

3) BOM(浏览器对象模型)

BOM(Browser Object Model),开发人员可以使用BOM控制浏览器显示的页面以外的部分。弹出新浏览器窗口;移动,缩放,关闭浏览器的功能;提供浏览器详细信息的navigator对象;提供浏览器所加载页面的详细信息的location对象;提供用户显示器分辨率详细信息的screen对象;对cookies的支持;支持XMLHttpRequest,IE中的ActiveXObject自定义对象

五、JavaScript的作用:

在页面中使用javascript的作用

1.改进网页的设计布局(操作页面中的标签元素)

2.验证表单

3.检测浏览器、控制浏览器的行为

4.创建cookies

5.处理页面中触发的事件

6.在使用ajax的时候也要用到javascript

7.网页特殊效果的制作

六、开发环境:

选择一个你喜欢的纯文本编辑器或IDE

NotePad++

VIM

UltraEdit

EditPlus

gEdit(Unix)

Emacs(Mac/Unix)

其它

至少一个符合W3C标准的浏览器(推荐火狐浏览器),和一些市场上流行的浏览器(IE)

FireFox 3.0+

Internet Explorer 6.0+ (由于IE具有多种不同的版本,还推荐安装IETester)

Google Chrome 1.0+

Opera 9.0+

Safari 3.0+

调试工具

FireFox下的FireBug,Venkman等

IE下的IE DeveloperToolbar,MS Script Debugger等(强烈不推荐MS Script Debugger,安装之后问题多)

Google Chrome 的JS控制台已经很强大了,Opera的错误控制台也可以,Opera蜻蜓和FireBug一样强大,Safari具有和Chrome一样的控制台

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【教程】谷歌浏览器移到其他盘之后,本地网页代码无法用谷歌浏览器打开的解决办法

    但是,将默认安装在C盘的谷歌浏览器移到其他盘之后,好多默认的设置就失效了,怎么办呢

    小小鱼儿小小林
  • [教程]谷歌浏览器只能安装在C盘,教大家如何设置才能装在D盘

    所以今天就教大家如何将谷歌浏览器从默认的安装在C盘,把它安装到D盘里或者其他的盘里

    小小鱼儿小小林
  • BOM,浏览器对象模型

    BOM也叫浏览器对象模型,它提供了很多对象,用于访问浏览器的功能。BOM缺少规范,每个浏览器提供商又按照自己想法去扩展它,那么浏览器共有对象就成了事实的标准。所...

    小小鱼儿小小林
  • 说下browserslist

    browserslist 是一个开源项目 见到有些package.json里会有如下的配置参数

    mafeifan
  • JavaScrtip之JS最佳实践

    一、JavaScript之平稳退化 这边使用一个当用户点击某个页面内某个链接弹出一个新窗口的案例: JavaScript使用window对象的open()方法来...

    郑小超.
  • xmake-gradle 首发, 集成xmake快速构建Android JNI程序

    目前在 gradle 中做 android jni 相关集成开发,有两种方式,通过 ndkBuild 或者 CMake 来支持,gradle 也内置了这两工具的...

    ruki
  • “大脑”生长系列(九)

    今天是关于图像合并相关的讲解。首先要区分一下图像合并与图像融合的概念:图像融合说的是两幅不同的图片的叠加,而图像合并说的是将两幅图像经过大小调整实现并排的效果。

    视界音你而不同
  • RESTful架构风格下的4大常见安全问题|洞见

    伴随着RESTful架构风格的大量应用,一些本来难以察觉到的安全问题也逐渐开始显现出来。在我经历过的各种采用RESTful架构风格的应用中,某些安全问题几乎在每...

    ThoughtWorks
  • velocity模板引擎学习(1)

    velocity与freemaker、jstl并称为java web开发三大标签技术,而且velocity在codeplex上还有.net的移植版本NVeloc...

    菩提树下的杨过
  • iOS 事件传递与视图响应链

    当你点击了屏幕上的某个view,这个动作由硬件层传导到操作系统,UIKit 就会打包出一个 UIEvent 对象,然后会把这个Event分发给当前正在活跃的 A...

    赵哥窟

扫码关注云+社区

领取腾讯云代金券