Day11
●为什么要学习javascript
Javascript是实现网页动态效果的基石,在web开发中扮演重要的角色,被广泛应用到各个领域。
①网页游戏
②地图搜索(google,baidu)
③股市信息查询
④web聊天
在web开发中,js是必不可少的技术!同时js也是ajax/jquery/extjs等框架的基础。
●涉及内容
js基本语法、js面向对象编程、bom和dom编程、正则表达式。
●基本介绍
1、javascript是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。
?什么是脚本语言
解释语言和编译语言的区别:
编译语言先编译成二进制代码,已经很接近于机器代码了。它的执行效率高。而解释语言是不经过编译,在执行的时候直接对源码进行执行,拿一条执行一条。效率较低。
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、有利于公司面试
☞多使用帮助文档
●js语言特点
1、javascript语言是简单的
2、javascript是基于对象和事件驱动的(动态的)
3、javascript是跨平台的
●案例1
需求:打开网页后,显示 hello world!
效果如图:
(1)js代码位置?
àjs位置可以随意
(2)js必须用
//javascript代码
☞说明:如果没有使用包起来,浏览器会将其视为普通文本。
(3)在一个html文件中(jsp/php/asp)中,可以出现多对片段,浏览器会按照先后顺序依次执行。
●案例2:对案例1改进,实现简单加法运算程序
效果:
☞Js的变量类型究竟怎样决定:
即在定义变量的时候,统一使用var表示即可,甚至var都可以不写。
Varname=”Gavin” //name是字符串
Var kk=2 // kk是数
Varyy //yy是undefined
如果 name=234; //这时name自动变成数
即js是动态的语言。
●Javascript基本语法
1、标示符是指Javascript中的定义的符号,例如,变量名,函数名,数组名等。标示符可以由任意顺序的大小写字母、数字、下划线(_)和美元符号($)组成,但标示符不能以数字开头,不能是Javascript中的保留关键字。
2、Javascript严格区分大小写,computer和Computer是两个完全不同的符号
3、Javascript程序代码格式
每条功能执行语句的最后都必须用分号(;)结束,每个词之间用空格、制表符、换行符或大括号、小括号这样的分隔符隔开。
/*…*/中可以嵌套“//”注释,但不能嵌套“/*…*/”。