javascript学习资料.ppt
《javascript学习资料.ppt》由会员分享,可在线阅读,更多相关《javascript学习资料.ppt(97页珍藏版)》请在三一办公上搜索。
1、JavaScript一.JavaScript基础JavaScript特点,JavaScript 语言可以设计和访问一个 web 页面中的所有元素,如:图片元素(images)、表单元素(form elements)、链接(links)等等。这些对象属性等在 JavaScript 程序运行中可以被复制、修改。JavaScript 还可以捕捉客户端用户对当前网页的动作,如:鼠标的点击动作或者键盘的输入动作等等。JavaScript 的这些功能使我们能够对用户的输入等动作做出想对应的反应动作,从而实现一些交互性。,1.特点,解释性脚本,不需要编译,客户端运行,不需要在网络中传数据,弱类型语言,安全:
2、不允许操作硬盘,不能操作数据库,不能直接访问网络文档.只能直接和浏览器直接交互.动态性:事件驱动,在网页上的操作可以驱动javascript跨平台:由支持JavaScript的浏览器运行,独立于操作系统.,2.于Java的区别,1.Java由Sun开发,前身是oak,是适合编写Internet应用程序的新一代面向对象语言(object-oriented).JavaScript由Netscape(网景公司)开发,前身是Live Script,是一种可以嵌入Web页面的基于对象(Object-Base)和事件驱动的解释性语言.2.由于没有提供抽象继承重载等功能,JavaScript只是基于对象的.
3、3.Java源代码需要经过编译,在服务器端执行,JavaScript是解释性的,直接发送到客户端浏览器执行.4.Java的数据类型严格匹配,使用的变量必须首先有定义,JavaScript是弱类型的,可以直接使用变量,变量的类型由它引用的值由解释器动态检查.5.语法不一样.,3.JavaScript代码的加入,在Html文件中,任意次数,任意位置使用(保证标签不存在交错,并正确配对.)/javascript 代码你可以针对不同版本的浏览器使用不同的language=”JavaScript版本”,下边的列表中列出了不同版本的 Netscape 浏览器所支持的不同版本的 JavaScript:Jav
4、aScript-Netscape 2.0 JavaScript1.1-Netscape 3.0 JavaScript1.2-Netscape 4.0,所以对于 Netscape 2.0 浏览器,它将会忽略标记 中定义的 JavaScript1.2 版本的脚本代码,但是 Netscape 4.0 将会执行此版本的脚本代码(同时也可以执行前边两个版本的脚本代码)。function f1()/旧版本的 JavaScript 代码。.function f1()/JavaScript 1.2 版的代码。.,在这个例子里,Netscape 2.0 浏览器将会执行第一个.标志对之间的函数 f1()而忽略第二
5、个.标志对之间的函数 f1()。而对于Netscape 4.0 浏览器来说,它将会对两个 f1()函数都进行处理,因为它支持这两个版本的 JavaScript,但是由于两个函数名字相同,浏览器会自动使用第二个函数 f1()来覆盖掉第一个函数 f1(),因此执行的结果应该是第二个函数 f1()的执行结果。,4.JavaScript代码的位置,通常都是将 标记对放在 和 标记对之间。这样能够保证在你的网页被下载到客户端后开始执行 JavaScript 的时候你的 JavaScript 代码也已经被下载到客户端了。这同时也是放置你的 JavaScript 函数的好地方,如果你想要某些代码在你的网页显
6、示出来之后才执行的话,你最好将这些代码放在函数里,等网页显示以后再通过调用函数来执行它们,另外一些时候,你有可能需要将你的脚本代码放在 和 标记对之间。这样做没什么不对的,因为如果你想要通过 JavaScript 代码来生成网页中的 HTML 语句,你就非常需要这样做,,5.引入js文件,src属性,可以把javascript函数定义放在一个.js文件中,则网页文件中引入它,则在该网页中就可以使用js文件中的函数了.可以同时引用几个js文件,JavaScript语言基础6.定义变量 var,变量的声明使用关键字 var,变量名可以是任意长度的字母、数字和下划线组成(“_”),同时变量名第一个字
7、符不能是数字。注意:JavaScript 是对大小写敏感的,也就是说去分大小写,如变量 count 和变量 Count 是两个不同的变量!,在函数外边声明的变量是全局变量,在它定义之后的脚本代码或函数中的任何地方都可以对全局变量进行访问和使用。需要注意的是:在函数外边声明变量的时候,关键字 var 是可选的(即可用可不用,你可以直接给一个没有被声明的变量赋值),但是如果你在一个函数中想要使用一个局部变量(即变量的有效使用范围只是在函数里边),而且这个变量与函数外边的一个全局变量具有相同的变量名,那么你就必须在函数里边通过 var 来重新声明这个变量,这个变量亦即是一个局部变量。,7.基本数据类
8、型,数值(整数,实数)布尔值,true/false字符串:双引号或者单引号括起来.Null:空,尚未有具体的值其他对象类型由于没有严格类型匹配,定义变量可以使用关键字var 变量名,也可以直接”变量名=值;”使用变量.而且变量类型可以随时改变,只有给它赋另一个类型的值.,8.运算符,算术运算:+-*/%(取余)逻辑运算符:=!=问号表达式:布尔表达式?A:B;,9.注释,同C,C+,Java,/*/,10.流程控制,if,if elsefor,whilebreak,continue,11.JavaScript函数,function 函数名(形式参数)函数体;返回;函数调用时主要以函数名匹配,可
9、以只传递部分参数.必须在函数定义之后才能调用.在函数体内使用arguments.length可以得到调用函数时实际传递的参数个数.,二.JavaScript的基于对象对象基础12.对象的构成,由属性和方法构成.对属性的引用使用 对象.属性,还可以使用属性的下标访问,比如man0,man1,还可以使用字符串下标访问,man“name”,man“age”这种方法可以支持动态属性,并且属性名可以不满足标识符规则,比如可以在属性名中包含空格.,对方法的调用使用 对象.方法(参数);new 可以创建对象 date=new Date();创建一个日期对象.this关键字指向当前属性的引用.,13.定义类,
10、定义类就是定义一个函数:参数列表不要使用类型关键字,只能使用变量名.function Man(name,height,blood,birth)this.name=name;this.height=height;this.blood=blood;this.birth=birth;this.study=study;/声明一个方法,/定义方法 function study(language)alert(this.name+学习+language);/不要定义Man mike=var mike=new Man(Mike,177,AB,new Date();mike.study(java!);,14.f
11、or x in,or(对象属性名 in 对象名)在不知到对象内详细情况下,循环对其属性访问:for(var prop in Desk)document.write(Deskprop);,15.with,with className 在花括号里面的语句,默认为取类className的属性和方法.其他类的属性方法就必须加上”类名.”前缀.需要用()把对象变量括起来。with(Math)document.write(cos(10);document.write(cos(20);document.write(cos(30);document.write(cos(40);,with(navigator)
12、document.write(你的浏览器版本是:+navigator.appName+navigator.appVersion);document.write(你的浏览器版本是:+appName+appVersion);document.write(你的次浏览器是:+appMinorVersion);document.write(你的浏览器的当前语言是:+browserLanguage);document.write(永久 cookie 是否在浏览器中启用:+cookieEnabled);document.write(你的CPU 等级是:+cpuClass);,document.write(你
13、是否处于全局脱机模式:+onLine);document.write(你的操作系统名称:+platform);document.write(你操作系统适用的默认语言:+systemLanguage);document.write(你HTTP 用户代理请求头的字符串:+userAgent);document.write(你操作系统的自然语言设置:+userLanguage);/alert(plugins.length);,16.this关键字,指向当前对象,17.new 创建新对象,var a=new Date();,18.对象类型:静态对象,动态对象,在JavaScript中对于对象属性与方法
14、的引用,有两种情况:其一是说该对象是静态对象,即在引用该对象的属性或方法时不需要为它创建实例;而另一种对象则在引用它的对象或方法是必须为它创建一个实例,即该对象是动态对象。,19.动态属性,Jscript 中所有的对象均支持“expando”属性或那些可以在运行时动态添加和删除的属性。这些属性可以有包含数字的任意名称。如果属性的名称是简单的标识符,可以在对象名称的后面加句点,例如:var myObj=new Object();/添加两个 expando 属性,name 和 agemyObj.name=Fred;myObj.age=42;,如果属性名称不是一个简单的标识符,或者在写脚本的时候不知
15、道,可以在方括号中使用任意表达式来索引属性。在 Jscript 中所有 expando 属性的名称在被添加到对象之前被转换为字符串。var myObj=new Object();/添加两个无法写在 object.property 语/法中的 expando 属性。/第一个属性包含无效字符(空格),/所以必须写在方括号里。而且使用引号.myObjnot a valid identifier=This is the property value;/第二个 expando 名称是一个数字,/所以也必须写在方括号里。myObj100=100;,三.核心(Core)对象20.核心对象简介,在 JavaS
16、cript 中可供使用的最基本的数据类型被称为核心(core)对象,这些对象是:Array-数组对象;Boolean-布尔对象;Date-时间对象;Math 数值计算;Number-数值对象,可以是整数和浮点数;String-字符串对象,可以是单引号()或双引号()括起来的任何字符串。,对于上边给出的对象,你都可以使用 new 操作符创建相应的对象实例,其实你也可以隐含地声明/创建 Boolean、Number 和 String 这几个对象,就像下边那样:var found=false;var max=47.9;var name=Fred;/等价于:var name=new String(Fr
17、ed);常用内部对象,21.String对象:内部静态性,该对象只有一个属性,即length mytest=This is a JavaScript mystringlength=mytest.length;/19toLowerCase()小写转换,toUpperCase()大写转换。indexOfcharactor,fromIndexsubstring(start,end),转义序列 字符b 退格f 走纸换页n 换行r回车t横向跳格(Ctrl-I)单引号“双引号反斜杠,请注意,由于反斜杠本身用作转义符,因此不能直接在脚本中键入一个反斜杠。如果要产生一个反斜杠,必须一起键入两个反斜杠()。,2
18、2.math对象,静态对象,个属性,它们是数学中经常用到的常数E、以10为底的自然对数LN10、以为底的自然对数LN2、3.14159的PI、1/2的平方根SQRT1-2,2的平方根为SQRT2静态的对象只能通过Math.方法名执行主要方法 绝对值:abs()弦余弦值:sin(),cos()反正弦反余弦:asin(),acos()正切反正切:tan(),atan()四舍五入:round()平方根:sqrt()基于几方次的值:pow(base,exponent),23.Date日期及时间对象,动态性,MyDate=New Date();/创建了当前时间对象.Date对象没有提供直接访问的属性。只
19、具有获取和设置日期和时间的方法。日期起始值:9年月日:。获取日期的时间方法 getYear():返回年数 getMonth():返回当月号数 getDate():返回当日号数 getDay():返回星期几 getHours():返回小时数 getMinutes(:返回分钟数 getSeconds():返回秒数 getTime():返回毫秒数,设置日期和时间:setYear();设置年 setDate():设置当月号数 setMonth():设置当月份数 setHours():设置小时数 setMintes():设置分钟数 setSeconds():设置秒数 setTime():设置毫秒数,24
20、.Array 对象,动态性,数组下标可以被认为是对象的属性,它是通过数字索引来引用的。注意添加到数组中的已命名的属性不能通过数字来索引;它们是与数组元素分离的。使用 new 运算符和 Array()构造器生成一个新的数组,如下面的示例。var theMonths=new Array(12);theMonths0=Jan;theMonths1=Feb;theMonths2=Mar;theMonths3=Apr;theMonths4=May;,theMonths5=Jun;theMonths6=Jul;theMonths7=Aug;theMonths8=Sep;theMonths9=Oct;the
21、Months10=Nov;theMonths11=Dec;myArray100=hello,然后 length 属性将自动地被更新为 101(新长度)。同样,如果修改数组的 length 属性,将删除不再是数组部分的元素。如果指定一个数值,则将长度设置为该数。如果指定了不止一个参数,则这些参数被用作数组的入口。另外,参数的数目被赋给 length 属性。,如下面的示例与前一个示例是等价的。var theMonths=new Array(Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec);当向用关键字 Array 生成的数组中添加元素时,Jscrip
22、t 自动改变属性 length 的值。Jscript 中的数组索引总是以 0 开始,而不是 1,所以属性 length比数组的最大索引大 1。,25.Number 对象,除了 Math 对象中可用的特殊数值属性(例如 PI)外,在 Microsoft Jscript 中,Number 对象有几个其他的数值属性。Number.NaN 是一个特殊的属性,被定义为“不是数值”。例如被 0 除返回 NaN。试图解析一个无法被解析为数字的字符串同样返回 Number.NaN。把 NaN 与任何数值或本身作比较的结果都是不相等。不能通过与 Number.NaN 比较来测试 NaN 结果,而应该使用 isN
23、aN()函数。,四.系统函数26.eval(字串表达式),返回字符串表达式中的值test=eval(8+9+5/2);,27.unEscape(string),返回字符串ASCII码,28.escape(character),返回字符的编码:,29.parseFloat(floustring),返回实数,30.parseInt(numbestring,radix),返回不同进制的数:其中radix是数的进制,numbs字符串数,31.编写一个脚本,该脚本在 IE 中写脚本,当解释程序遇到 标记时会终止当前脚本。要显示 本身,请将其改写为至少两个字符串,例如,这样就可以在输出语句中将其连接在一起
24、。,五.网页文档中的对象当页面已经被下载到客户端时,浏览器就会创建几个用来存储页面信息和页面内容的对象。这些对象构成了一个树状结构(对象的引用也是根据这种树一层一层引用的,引用时使用“.”号),在这棵“树”中,最高层的对象是 window 对象.,32.window属性,任何隐式的窗口引用都被指向当前窗口。对于其他窗口必须使用显式引用。属性location-页面的地址(URL)信息;history-包括了当前打开的这个浏览器访问过的地址(URL)列表;frames-如果页面使用了帧(frame)的话,这个对象包含了帧的版面布局的信息以及每一个帧所对应的窗口(window)对象;document
25、-包含了页面的内容信息;opener 属性(窗口对象)指向打开此窗口的母窗口screen-描述屏幕的尺寸和颜色(仅限于Netscape 4.0)。,例如,要获得当前页面的地址(URL)信息,我们可以这样用:var url=;还可以简便的写成:var url=location.href;,33.window方法,alert()显示一个消息框,只有一个 OK(确定)按钮;confirm()显示一个对话框,带有 OK(确定)和 Cancel(取消)按钮;prompt(“提示”,默认值)显示一个可以让用户输入信息的对话框。window.open(URL,WindowName,窗口属性)打开一个窗口创建
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- javascript 学习 资料
链接地址:https://www.31ppt.com/p-5435979.html