Day11
●为什么要学习javascript
Javascript是实现网页动态效果的基石,在web开发中扮演重要的角色,被广泛应用到各个领域。
①网页游戏
②地图搜索(google,baidu)
③股市信息查询
④web聊天
在web开发中,js是必不可少的技术!同时js也是ajax/jquery/extjs等框架的基础。
●涉及内容
js基本语法、js面向对象编程、bom和dom编程、正则表达式。
●基本介绍
1、javascript是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。
?什么是脚本语言
- 脚本语言是介于HTML和C,C++,java,C#等编程语言之间,往往不能独立使用,它和html/jsp/php/asp/.net配合使用
- 脚本语言与编程语言有相似的地方,其函数与编程语言类似,也有变量、控制语句(顺序、分支、循环)等。与编程语言之间最大的区别是编程语言的语法和规则更为严格和复杂一些。
- 脚本语言是一种解释性语言,例如Python,vbscript,javascript等等,它不像c/c++等可以编译成二进制代码,以可执行文件的形式存在。
- 脚本语言一般都有相应的脚本引擎来解释执行,javascript的脚本引擎就是浏览器。浏览器中专门内嵌一个javascript的引擎。
解释语言和编译语言的区别:
编译语言先编译成二进制代码,已经很接近于机器代码了。它的执行效率高。而解释语言是不经过编译,在执行的时候直接对源码进行执行,拿一条执行一条。效率较低。
2、Javascript 90%以上都是在客户端执行的。被客户端的浏览器执行。
流程图:
3、有一个关于javascript的小故事
最早是叫livescript,是一种基于对象和事件驱动,并具备安全性的脚本语言,是由netscape(网景)公司1996开发的,后和Sun 公司合作,将livescript更名为javascript。
(javascript和java完全没有关系,主要是因为sun公司的介入,才这样更名)
由于netscape没有和微软合作,微软后推出了jscript,基本和javascript一样。
●浏览器发展历史
NCSA中Mosaic(93年)
Netscape(94年),网景公司(创办人:Marc Andreesen)
Interent Explorer(95年),98年,彻底击败Netscape
Netscape开源,创造Mozilla;2002年,Mozilla1.0发布。
基于Mozilla Phoenix(FireBird)的发布,也就是FireFox(2002)
FireFox1.0(2004发布),2007,市场占有17%。
Opera(1996年发布),Opera SoftWareASA,号称最快的浏览器
Safari,苹果浏览器
Google Chrome,Google推出的浏览器。
W3C(World Wide Web Consortium,万维网联盟),1994年10月成立。
W3C是专门致力于创建Web相关技术标准并促进Web向更深、更广发展的国际组织。
☞为什么都要做浏览器:
1.广告挣钱。
2.所有的信息都要进过浏览器过滤,这之中的奥秘就不足为外人道也。
注意:因为浏览器的差异,我们会看到,在不同浏览器中使用javascript编程,会有差异,比如,在给某个控件绑定响应函数时,w3c dom标准是addEventListener(),而ie是使用attachEvent(),还有就是有些方法在ie中可以使用。而在ff中却不能会用,这些都是我们在实际开发中要注意的问题。
●js开发工具
☞先用记事本,到对javascript有了一定了解之后,我们再使用高级开发工具,eclipse或者Myeclipse
☞why?
1、更深刻地理解javascript技术,培养代码感
2、有利于公司面试
☞多使用帮助文档
- W3School.chm
- JavaScript.chm
●js语言特点
1、javascript语言是简单的
2、javascript是基于对象和事件驱动的(动态的)
3、javascript是跨平台的
●案例1
需求:打开网页后,显示 hello world!
<html>
<head>
<!--js代码一般是放在head标签之间的,但实际上也可以放在别的位置-->
<script language="javascript">
window.alert("hello world!");
</script>
</head>
<body>
</body>
</html>
效果如图:
(1)js代码位置?
àjs位置可以随意
(2)js必须用
<script language=”javascript”>
//javascript代码
</script>
☞说明:如果没有使用<script>包起来,浏览器会将其视为普通文本。
(3)在一个html文件中(jsp/php/asp)中,可以出现多对<script>片段,浏览器会按照先后顺序依次执行。
●案例2:对案例1改进,实现简单加法运算程序
<html>
<head>
</head>
<body>
<!--js代码一般是放在head标签之间的,但实际上也可以放在别的位置-->
<script language="javascript">
//js中变量的定义--在js中,变量用var表示,不管实际类型是什么
var num1 = 456;
var num2 = 89;
var result=num1+num2;
window.alert('结果是'+result);//window.alert函数
</script>
</body>
</html>
效果:
☞Js的变量类型究竟怎样决定:
- js是弱数据类型语言
即在定义变量的时候,统一使用var表示即可,甚至var都可以不写。
- js中的变量的数据类型是由js引擎来决定的。
Varname=”Gavin” //name是字符串
Var kk=2 // kk是数
Varyy //yy是undefined
如果 name=234; //这时name自动变成数
即js是动态的语言。
●Javascript基本语法
1、标示符是指Javascript中的定义的符号,例如,变量名,函数名,数组名等。标示符可以由任意顺序的大小写字母、数字、下划线(_)和美元符号($)组成,但标示符不能以数字开头,不能是Javascript中的保留关键字。
2、Javascript严格区分大小写,computer和Computer是两个完全不同的符号
3、Javascript程序代码格式
每条功能执行语句的最后都必须用分号(;)结束,每个词之间用空格、制表符、换行符或大括号、小括号这样的分隔符隔开。
- 语句块使用{}来表示
- Javascript程序的注释
/*…*/中可以嵌套“//”注释,但不能嵌套“/*…*/”。