Javascript教案——供js初学者使用

 

Javascript

第一天            Javascript简介

第一节       简介

  1.1 Javascript简介:

Ø      Javascript的历史

1992年,一家名为Nombas的公司开发一种叫C减减(C-minus-minus,简称Cmm,有点与C++对应的意味)的嵌入式脚本语言。Cmm背后的理念很简单:一个足够强大可以替代宏操作(macro)的脚本语言,同时保持C/C++足够的相似性(C语言太经典了,特别是其语法有着简洁美),以便开发人员能很快学会。这个脚本语言被捆绑在一个叫做CEnvi的共享软件产品中,它首次向开发人员展示了这种语言的威力。Nombas最终把Cmm的名字改成了ScriptEase,原因是后面的部分(mm)听起来过于“消极”,同时字母“C”令人害怕。现在ScriptEase已经成为了Nombas产品背后主要驱动力(怎么我觉得这家公司已经不存在了呢?)。当Netscape Navigator(盛极一时的网景的浏览器,结果被微软IE的免费策略搅黄了局)暂露头角时,Nombas开发了一个可以嵌入网页中的CEnvi的版本。这些早期的实验称为Espresso Page,它们代表了第一个在万维网上使用的客户端脚本语言。而Nombas丝毫没有料到它的理念将会成为internet的一块重要基石。

 当internet普及越来越广时,对于开发客户端脚本的需求也逐渐增大。此时,大部分internet用户仅仅通过28.8kbit/s的Modem来连接到网络,即使这时网页已经不断地变得更大和更复杂。加剧用户痛苦的是,仅仅为了简单的表单有效性验证,就要与服务器进行多次的往返交互。设想一下,用户填写完一个表单,点击提交按钮,等待30秒后,看到的却是一条告诉你忘记填写一个必要的字段的信息。那时正处于技术革新最前沿的Netscape,开始认真考虑一种开发客户端语言来处理简单的问题。

当时为Netscape工作的Brendan Erich,开始着手为即将在1995年发行的Netscape Navigator 2.0开发一个称之为LiveScript的脚本语言,当时的目的是同时在浏览器和服务器使用它。Netscape与Sun公司联手及时完成了LiveScript的实现。就在Netscape Navigator 2.0即将正式发布前,Netscape将其更名为Javascript(想当年,也就是95年,正式Java普遍开始流行的一年,Java开始火起来,似乎打上一个Java的标签,也会火起来一样),目的是为了利用Java这个internet时髦词汇。Netscape的这一决定也实现了当初的意图,Javascript从此变成了因特网的必备组件。

因为Javascript 1.0如此成功,Netscape在Navigator 3.0中发布了Javascript 1.1版本。恰巧那个时候,微软决定进军浏览器市场,发布了IE 3.0b并搭载了一个Javascript的克隆版,叫做Jscript(微软一直是一名成功的模仿者,这样命名是为了避免与Netscape潜在的许可纠纷)。微软步入浏览器领域的这重要一步当然推动了javascript的进行一步发展。

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

1997年,Javascript 1.1作为一个草案提交给ECMA(欧洲计算机制造商协会)。第39技术委员会(TC39)被委派来“标准化一个通用、跨平台、中立于厂商的脚本语言的语法和语义”。由来自Netscape、Sun、微软、Borland和其他一些对脚本编程感兴趣的公司的程序员组成的TC39锤炼出了ECMA-262,该标准定义了叫做ECMAScript的全新脚本语言。

在接下来的几年里,ISO/IEC(国际化标准组织及国际电工委员会)也采纳ECMAScript作为标准(ISO/IEC-16262)。从此,Web浏览器就开始努力(虽然有着不同成都的成功和失败)将ECMAScript作为Javascript实现的基础。

 

 

Ø      Javascript的优点

1.简单性

Javascript是一种脚本编写语言,她采用小程序段的方式实现编程,像其他脚本语言一样,Javascript同样也是一种解释性语言,他提供了一个简易的开发过程,他的基本结构形式与C、C++十分类似,但他不像这些语言一样,需要先编译,而是在程序运行过程中被逐行的解释,他与HTML标记结合在一起,从而方便用户的使用操作。

2.动态性

Javascript是动态的,他可以直接对用户或客户输入作出响应,无须经过web服务程序,他对用户的反映响应,是采用以事件驱动的方式进行的,所谓事件驱动,就是指在页面中执行了某种操作所产生的动作,称为“事件”。比如按下鼠标、移动窗口、选择菜单等都可以视为事件,当事件发生后,可能会引起相应的事件响应。

3.跨平台性

Javascript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持javascript的浏览器就可以正确执行。

4.节省CGI的交互时间

假如提交一个简单的表单,就需要与服务器进行多次的交互,点击提交,等待30秒后被告之没有填写住址等等类似的事情发生让人感觉非常不舒服,客户端脚本就显得越来越重要,Javascript可以在数据被提交给服务器之前,预处理客户端的数据

 

Ø      Javascript的局限性

浏览器有很多种,每种对javascript的支持程度是不一样的,效果会有一定的差距。

1.2 主要应用

Ø      控制文档的内容和表现

<script language=”JavaScript”>

document.write(“<h1>hello,web</h1> ”) ; 

</script>

Ø      控制浏览器的行为

<script language=”JavaScript”>

window.status=“欢迎访问javascript ” ; 

</script>

Ø      和文档的内容相互作用

 

Ø      和用户交互

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>猜数字游戏</title>

<script language=”JavaScript”>

var sum=0;

num=Math.floor()

</script>

 

 

 

第二节 简介

2.1 javascript不能做的(限制多,安全性高)

Ø      设置或检索浏览器参数设置、主窗口外观特性、动作按钮和打印

Ø      在客户机上启动一个应用程序

Ø      在客户端或服务器上读/写文件或文件夹

Ø      重新传输从服务器上捕获的现场数据流

Ø      从web站点访问者处向用户发送机密的电子邮件

 

2.2 javascript并非Java

Ø      不同的公司:sun、Netscape(网景);

Ø      不同类型:面向对象编译型、基于对象解释型;

Ø      独立性:单独执行、嵌入到HTML,不能单独运行;

 

2.3 javascript在客户端应用的三部分构成

Ø      作为核心的ECMAScript:语言基础,定义了基本的语法和语义;

           javascript的核心,描述该语言的语法和基本对象  ECMA标准

           Jscript是ECMAScript的一种实现,功能较多

           ActionScript   flash AIR Flex

        Netscape  LiveWire是javascript在服务器端的实现

JavaScript  HTML XML  Ajax

Ø      文档对象模型DOM:操作HTML/XML的API描述处理网页内容的方法和接口          W3C标准;

Ø      浏览器对象模型BOM:操作浏览器功能的API,描述与浏览器进行交互的方法和接口;

Ø      开发环境

1)选择一个自己喜欢的编辑器

l   Notepad++

l   VIM

l   Editplus

l   Gedit

l   Emacs

l   其它

2)符合W3C标准的浏览器

l   Firfox

l   IE

l   Google chrome

l   Opera

l   Safari

3)调试工具

l   Firefox下的firebug、venkman等, FF-----“辅助选项”-----“firebug”---安装

或者下载到firebug插件拖入浏览器即可

l   IE下的ie developertoolbar,  IE---“工具”----“开发人员工具”

2.4 javascript的引用

在<head>内部

Ø      标记包含式

<html>

<head>

<title>第三种</title>

<script language=”javascript” >

function   showAlert()

{

 alert(“web“);

}

</script>

</head>

<body > </body>

</html>

 

Ø      Js外部引用式

<html>

<head>

<title>第三种</title>

<script language=”javascript” src=“common.js“>。。。。。。</script>

</head>

<body >web程序设计</body>

</html>

 

common.js文件内容

function showAlert(){

alert(“web程序设计“);

}

Ø      事件跟随式

<html>

<head>

<title>第三种</title>

</head>

<body οnlοad=”window.alert(‘hello web’);”>

</body>

</html>

 

第三节 语言基础

3.1注意事项

Ø      语句分隔符     ;

Ø      注释标记

         //       单行注释

/*……..*/   多行注释

3.2数据类型

三种主要数据类型,两种复合数据类型和两种特殊数据类型

Ø      主要(基本)数据类型

l   字符串

l   数值

l   布尔

Ø      复合(引用)数据类型

l   对象

l   数组

Ø      特殊数据类型

l   null

l   undefined

注意事项:

n       String字符串类型:字符串是用单引号或双引号来说明的;

n       数值数据类型:Javascript支持整数和浮点数。整数可以为正数、0或者负数;浮点数可以包含小数点、也可以包含一个“e”(大小写均可,表示“10的幂”);

n       Boolean类型:true和false,不能用1和0;

n       Undefined数据类型:变量创建后未赋值;

n       Null数据类型:没有任何值,什么也不表示;

3.3判断数据类型

typeof 运算符

说明:

返回一个用来表示表达式数据类型的字符串

 有六种可能:number、string、boolean、object、function、undefined

 <script language=”javascript”>

 <!- -

  var a=18;

  var b=”今年18”;

  var c=true;

  document.write(typeof(a));

document.write(typeof(b));

document.write(typeof(c));

document.write(typeof(d));

document.write(typeof(window));  //object

document.write(typeof(test));

function test(xb)

{

 If(xb=1)

return “男”;

else

return “女”;

}

//- ->

 </script>

请注意:null与0不相等,typeof运算符将报告null为object,而非类型null,这点潜在的混淆是为了向下兼容。

3.4数据类型转换

Object.toString()   对象的字符串表示

parseInt(numString) 字符串转换得到整数

parseFloat(numString)字符串转换得到浮点

【强制转换】

数值与字符串相加           

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值