7 Java Script Java Script html head titleJava

  • Slides: 86
Download presentation

第 7章 Java. Script

第 7章 Java. Script

第一个Java. Script程序 <html> <head> <title>第一个Java. Script程序</title> <script type="text/Java. Script"> <!-- type属性也可省略 --> function msg

第一个Java. Script程序 <html> <head> <title>第一个Java. Script程序</title> <script type="text/Java. Script"> <!-- type属性也可省略 --> function msg () //Java. Script注释:建立函数 {alert ("Hello, the WEB world!")} </script> </head> <body> <p on. Click="msg()">Click Here</p> <!--HTML注释, 调用函数 --> </body> </html>

Java. Script 语言基础

Java. Script 语言基础

3. 2. 4 数组(array) v 1. 数� 的定� (三种方法) vvar rank =new Array(12); //第

3. 2. 4 数组(array) v 1. 数� 的定� (三种方法) vvar rank =new Array(12); //第 1种定义方法 vvar Map =new Array(“China”, “USA”, “Britain”); //第 2种定义方法 vvar Map =["China", "USA", "Britain"]; //第 3种定义方法

Java. Script中的 语句

Java. Script中的 语句

通过条件语句判断时间 var d=new Date(); var time=d. get. Hours(); if (time<10){ document. write("<b>Good morning</b>") }

通过条件语句判断时间 var d=new Date(); var time=d. get. Hours(); if (time<10){ document. write("<b>Good morning</b>") } else if (time>10 && time<16){ document. write("<b>Good day</b>") } else{ document. write("<b>Hello World!</b>") }

Switch语句 evalue = parse. Int(prompt("请输入 1-4对我们的服务 做出评价", "")); switch(evalue){ case 1: document. write("非常满意"); break

Switch语句 evalue = parse. Int(prompt("请输入 1-4对我们的服务 做出评价", "")); switch(evalue){ case 1: document. write("非常满意"); break case 2: document. write("满意"); break; case 3: document. write("一般"); break; default: document. write("您的输入有误!"); }

循环语句 1. While循环 var i=0; while (i<100) {document. write (i+" "); i++; }

循环语句 1. While循环 var i=0; while (i<100) {document. write (i+" "); i++; }

7. 2. 6 函 数 arg 1 arg 2… arg. X 函数 function return

7. 2. 6 函 数 arg 1 arg 2… arg. X 函数 function return Exp functionname(arg 1, arg 2, . . . , arg. X) { statements [return[expression]] }

定义函数的三种方法 1. 最常见的方法 v function sum(a, b) { return a+b; } 调用方法: sum(3, 5);

定义函数的三种方法 1. 最常见的方法 v function sum(a, b) { return a+b; } 调用方法: sum(3, 5); 2. 定义匿名函数 function(a, b) { return a+b; } //调用方法: var sum= function(a, b) { return a+b; } sum(3, 5); 或自运行方式:(function(a, b){return a+b; })(5, 9) 3. 用创建函数对象的实例方法定义 var sum=new Function ("a", "b", "return a+b; ")

用arguments对象来访问函数的参数 function my. Name(s. Name){ //如果第一个参数是"bye" if (arguments[0]=="bye") alert("Hello"+s. Name); } return;

用arguments对象来访问函数的参数 function my. Name(s. Name){ //如果第一个参数是"bye" if (arguments[0]=="bye") alert("Hello"+s. Name); } return;

定义对象的几种方法 var person= new Object(); person. name='Yuki'; person. age=29; document. writeln(person. name+person. age); 用构造函数定义

定义对象的几种方法 var person= new Object(); person. name='Yuki'; person. age=29; document. writeln(person. name+person. age); 用构造函数定义 function person(name, sex){ this. name=name; this. sex=sex; } var p= new person('yuki', 'male');

定义对象的几种方法 v 用JSON定义(Java. Script 1. 2开始支持) function person(name, sex){ this. name=name; this. sex=sex; }

定义对象的几种方法 v 用JSON定义(Java. Script 1. 2开始支持) function person(name, sex){ this. name=name; this. sex=sex; } var p= new person(‘yuki’, ‘male’); 等价于 var p={ "name": 'Yuki', "gender": 'male' } alert(p. name);

3. 3. 3 this关键字的用法 v 1. this指代当前元素 <div id="div 2" onmouseover="this. align='right'" onmouseout="this. align='left'"

3. 3. 3 this关键字的用法 v 1. this指代当前元素 <div id="div 2" onmouseover="this. align='right'" onmouseout="this. align='left'" > 会逃跑的文字</div> < div align="left" onmouseover ="move(this)"> 会逃跑的文字</div > var tao. Id=document. get. Element. By. Id('div 2'); tao. Id. onmouseover=function(){ this. align="right"; }

this关键字的用法 v 2. 作为普通函数直接调用时,this指代window 对象 function do. Something() { this. status="在这里this指代window对象"; }

this关键字的用法 v 2. 作为普通函数直接调用时,this指代window 对象 function do. Something() { this. status="在这里this指代window对象"; }

BOM的主要对象 location对象 history对象 document对象 window. status属性

BOM的主要对象 location对象 history对象 document对象 window. status属性

BOM v Java. Script是运行在浏览器中的 window navigator forms location anchors document images frames screen links

BOM v Java. Script是运行在浏览器中的 window navigator forms location anchors document images frames screen links history embeds applets

window对象的方法 v window对象有如下4个方法用来调整窗口的位置 或大小。 (1)window. move. By(dx, dy) (2)window. move. To(x, y) (3)window. resize.

window对象的方法 v window对象有如下4个方法用来调整窗口的位置 或大小。 (1)window. move. By(dx, dy) (2)window. move. To(x, y) (3)window. resize. By(dw, dh) (4)window. resize. To(w, h)

地址栏控制(location对象) 利用location. href实现跳转菜单 <select name="select" onchange="window. location. href=this. optio ns[this. selected. Index]. value"> <option>请选择需要的网址</option>

地址栏控制(location对象) 利用location. href实现跳转菜单 <select name="select" onchange="window. location. href=this. optio ns[this. selected. Index]. value"> <option>请选择需要的网址</option> <option value="http: //www. sohu. com">搜狐 </option> <option value="http: //www. sina. com">新浪 </option> </select>

history对象 v上面三句的效果还可以分别用back()和 forward()实现,代码如下: vhistory. back(); vhistory. forward(); vlocation. reload();

history对象 v上面三句的效果还可以分别用back()和 forward()实现,代码如下: vhistory. back(); vhistory. forward(); vlocation. reload();

1. 访问指定节点 vget. Element. By. Id() § 如get. Element. By. Id(“one”) vget. Elements. By.

1. 访问指定节点 vget. Element. By. Id() § 如get. Element. By. Id(“one”) vget. Elements. By. Name() § 一般用于访问表单元素 vget. Elements. By. Tag. Name() § document. get. Elements. By. Tag. Name(" p")[3]

访问元素子节点的两种方法 v var nav= document. get. Element. By. Id("nav"); v ① 第一种方法是在DOM对象nav中再次使用 get. Elements.

访问元素子节点的两种方法 v var nav= document. get. Element. By. Id("nav"); v ① 第一种方法是在DOM对象nav中再次使用 get. Elements. By. Tag. Name搜寻它的子节点。var navli= nav. get. Elements. By. Tag. Name("li"); v ②第二种方法是使用child. Nodes集合获取 nav. Root对象的子节点。 var navli = nav. Root. child. Nodes; v 两种方法在Firefox中的区别,最好用第①种方 法

访问CSS样式(续) v 2. 使用class. Name属性更改元素的类名 var my. Img = document. get. Element. By. Id(“picbox”);

访问CSS样式(续) v 2. 使用class. Name属性更改元素的类名 var my. Img = document. get. Element. By. Id(“picbox”); my. Img. class. Name=“pic”+str; } v 3. 使用class. Name属性追加元素的类名 class. Name+= “ over“ //追加类名 “over”, over前必须有一空格

创建节点 v create. Element方法:创建元素节点 v create. Text. Node方法:创建文本节点; var o. P = document. create.

创建节点 v create. Element方法:创建元素节点 v create. Text. Node方法:创建文本节点; var o. P = document. create. Element("p"); var o. Cont= document. create. Text. Node("这是一 条感人的新闻"); o. P. append. Child(o. Cont); document. body. append. Child(o. P);

3. 5. 7 用DOM控制表单 v 访问表单中的元素 var o. Form = document. forms["user"]; var o.

3. 5. 7 用DOM控制表单 v 访问表单中的元素 var o. Form = document. forms["user"]; var o. Text. Name = o. Form. elements[0]; var passwd = o. Form. elements["passwd"]; v 表单中元素的共同属性和方法 v var o. Comments=o. Form. elements. comments; v alert(o. Comments. type) ; var o. Text. Passwd = o. Form. elements["passwd"]; v o. Text. Passwd. focus();

事件的应用举例 v 设置鼠标经过时自动选择表单中文本 <input name="user" type="text" onmouseover="this. focus()" /> onfocus="this. select()" v 利用on. Blur事件自动校验表单

事件的应用举例 v 设置鼠标经过时自动选择表单中文本 <input name="user" type="text" onmouseover="this. focus()" /> onfocus="this. select()" v 利用on. Blur事件自动校验表单

习题 v 11.以下哪条语句不能为对象obj定义值为 22的 属性age? ( ) v A. obj. "age"=22; B. obj. age=22;

习题 v 11.以下哪条语句不能为对象obj定义值为 22的 属性age? ( ) v A. obj. "age"=22; B. obj. age=22; C. obj["age"]=22; D. obj={age: 22}; v 12. 下面哪一条语句不能定义函数f()? () v A. function f(){}; B. var f=new Function("{}"); C. var f=function(){}; D. f(){};