我自己总结的关于JS入门的手记

来源:百度文库 编辑:神马文学网 时间:2024/04/29 07:18:45
转帖---我自己总结的关于JS入门的手记,希望对大家有帮助
JAVA SCRIPT 手记
语言基础篇
JAVA  SCRIPT 不是JAVA ,两者是完全不同的
JAVA 全称是 JAVA APPLET(.CLASS)是一个APPLET文件 有自己独立运行的窗口小程序,能访问HTTP ,FTP 协议
JAVA SCRIPT 是一种脚本,功能要比 JAVA 小的多。没有独立的运行窗口,浏览器当前窗口就是他的运行窗口。
两者完全相同的是二者都是用。JAVA做为编程语言了
在 FrontPage 菜单 | 工具 | 宏 | Microsoft 脚本编辑器 (这是一个脚本编辑器)
JAVA SCRIPT 的插入方法:
JAVA SCRIPT 可以插在任何地方,在HTML 之前或之后都可以,但注意的是如果要在框架网页中插入必须在 之前插入否则是不会运行的~~~~
基本格式如下

这其中还有两个关键字 Server 和 Language,Server 包括(Server Side服务器端 and Client Side客户端)
我们所研究讨论的是 客户端即 Client Side
插入的几种方法
1.通过 . JS 文件插入:
2.插入到 HTML 中 连接名
3.结束 符号 “ ;”是分号,虽然有的浏览器允许 回车做为结束符号,但培养用分号做为结束符号       是个好习惯 <语句> ;
4.{} 大括号里边的一个或者N个语句被叫做 语句块 ,虽然在括号里边是几个语句,但在外边被视为一个语句的,语句块是个可以嵌套的
JAVA SCRIPT中的变量
变量 从字面上理解就是可变的量,从编程的角度讲就是存储某种/某些数值的存储器,所存储的值可能是数字,字符或者其他的东西。
变量的要求:
1.只包字母和数字和下划线
2.必须以字母做为开头
3.不能太长,我记的VBScript中的变量要求是 0-255,谁又会用太长的字符做变量呢,傻瓜
4.不能用JAVA SCRIPT 的保留字,保留字就是JAVA SCRIPT语言中的命令 如(Key  words Reserved)
5.注意变量是区别大小写的 例如Variable 和variable 是完全不一样的
6.没有声明的变量是不能够使用的 否则或出错未定义,不象 VbScript中未声明就可以使用,在VbScript中,用Option Explicit  可以强制声明变量 ,但必须在脚本中的最上方输入命令。
7.在JAVA SCRIPT 中声明变量最好是用 变量本身的意义和作用命名,这样别人在读你的程序的时候可以理解你的意思,自己在以后的修改中也是很方便的,命名的方法最好是 开头的字母用小写 如:myVariable  myAnotherVariable,以后各个单词的开头字母用大写,这样不只是为了美观也是为了易读在 JAVASCRIPT中一些命令就是这么定义的,如 indexOf  , charAt
变量的声明
var   <变量> [= <值>] ;
其实最简单的办法就是 var <变量>; ,这样给变量留出内存,以后使用,这样变量的初始值,就是NULL ,如果给赋值 的话,其初始值就是 [=<值>]
数 据 类 型
整型(Integer):可以是 正整数 0 负整数 也可以是 十进制 八进制 或者 十六进制的
八进制的数表示是在数前面加 0 如 123 八进制表示是 0123
十六进制的数是在前面加  0X 如 0XEF 是表示 十六进制的 “EF”
浮点数 (single,double) 实刑 就是小数了,实践证明有些浏览器对小数的支持不很稳定,建议不要用,。。。
字符串型(string) 即用 “”‘’包起来的0个或多个字符, 那个开始那个结束,不能嵌套,如果嵌套就用转义字符
转义字符(...)由于一些字符不能够在屏幕上显示,或者JAVASCRIPT 用了特殊用途,所以必须用转义字符,转义字符是 "\" 开头:\’单引号、\ ”双引号、\n回车符、\r 换行符
如:‘MICRO说:"这里是\"JAVASCRIPT\"。"’
布尔型(Boolean)  只有Ture 真 和 Flash 假  之分,他们属于常数.
对象  (Object) 在以后讲到
JAVASCRIPT 一般来说声明变量要声明数据类型,但是JAVASCRIPT要求不严格,所以即使给定数据类型,但是也可以赋予别的值。
var aString = ‘ ’; 把变量赋值为字符型
var anInteger = 0 ;   把变量赋值为 整型
变量一经声明就可以在以后的使用中赋予值
<变量> = <表达式>;
JAVA SCRIPT 中有以下几个常数:
NUll 空值,当定义变量时,不定义初始值的时候就是NULL
NAN  是 NOT A NUMBER  是一个非常特殊的数,他不等于任何数,甚至NAN本身也不等于NAN
TRUE  真   FLASH  假
MATH 对象中还有一些常数,这将在 以后的对象化编程里讲到..
表达式和运算符号
表达式 的定义和数学中的相似,就是具有一定的值,用运算符把常数和变量连接起来的代数式。一个表达式可以包含一个常数和一个变量。
运算符 包括 四则运算符  关系运算符 逻辑运算符 位运算符 复合运算符
-----------------------------------------------------------------------------------------------------------------------------------------------
括号 (X),[X]        表明数组的维数和下标
-----------------------------------------------------------------------------------------------------------------------------------------------
求反 -X                表示X的相反数
!X                表示与X布尔值相反的布尔值
自加 X++             表示 X本身加1但是仍返回原来X的值
++X            表示X本身加1但是返回的是X加1后的值
自减 X--               表示X本身减1但是仍返回X本身的值
--X      表示X本身减1但是返回的是X加1后的值
-----------------------------------------------------------------------------------------------------------------------------------------------
乘除 x*y               x乘y 的值
x/y                x除以y的值
x%y              x模y 即x除以y的余数
加减  x+y                x加y的值
x-y                x减y 的值
关系运算   xy x<=y x>=y      条件成立时 为真(True)  不成立时为假(Flash)
-----------------------------------------------------------------------------------------------------------------------------------------------
等于    x==y      当x等于y 时返回真True 当x不等于y 时返回假
不等于    x!=y        当x 不等于y时 返回真True 当x等于y时返回假
-----------------------------------------------------------------------------------------------------------------------------------------------
位与        x&y       当两个数位都为 1时返回1,其他情况下返回0
位异或     x^y    两个数位中只要有一个为0就返回0 否则返回1
位或         x | y         两个数位都为0时返回 0 ,只要有一个为 1就返回  1
位运算符通常会被当作逻辑运算符来使用。它的实际运算情况是:把两个操作数(即 x 和 y)化成二进制数,对每个数位执行以上所列工作,然后返回得到的新二进制数。由于“真”值在电脑内部(通常)是全部数位都是 1 的二进制数,而“假”值则是全部是 0 的二进制数,所以位运算符也可以充当逻辑运算符。
-----------------------------------------------------------------------------------------------------------------------------------------------
逻辑与   x&&y       当两个值同时为True 是 返回True ,否则 返回Flash
逻辑或      x  | | y        当两个这值只要有个一为True ,就返回True .否则返回Flash 即都为假
逻辑与/或有时候被称为“快速与/或”。这是因为当第一操作数(x)已经可以决定结果,它们将不去理会 y 的值。例如,false && y,因为x == false,不管 y 的值是什么,结果始终是 false,于是本表达式立即返回 false,而不论 y 是多少,甚至 y 可以导致出错,程序也可以照样运行下去
-----------------------------------------------------------------------------------------------------------------------------------------------
条件     c?x : y          当c的值为True 时 返回X的值 就执行X 的语句 ,否则执行Y语句
-----------------------------------------------------------------------------------------------------------------------------------------------
赋值      x = y  把y 的值给 x 并返回 所赋的值
复合运算  x+=y x-=y  x*=y x/=y x%=y 把x与y相加/减/除/乘/余 的结果 赋值 给X 并返回 x 赋值后的值
-----------------------------------------------------------------------------------------------------------------------------------------------
注意 所有四则运算有关的运算符都不能用在字符串变量上 字符和字符串可以用 +  ,+=连接
提示 请密切注意运算的优先级。编程时如果不记得运算符的优先级,可以使用括号( )。例如:(a == 0)||(b == 0)。
一些用来赋值的表达式,由于有返回的值,可以加以利用。例如,用以下语句:a = b = c = 10,可以一次对三个变量赋值。
语句
注释 单行注释 // 符号表示
多行注释 /* */ /*为开始 直到遇到*/结束
提示  如果程序需要草稿,或者别人来阅读,注释能够帮上大忙,养成写注释的好习惯能节省你和其他程序员的大量时间,假如调试程序 ,想把这一段换成另一段或者暂时不使用这段,用注释可以帮很好的忽略代码
如果用了DELETE键呢,你以后想要回这段程序怎么办
if语句
If (<条件>) 语块1 [else <语筷2>]
这个语句有点象 ?: 假如 IF后面的 条件成立就执行语块 ,否则执行else后面的语块2,可是IF语句不返回任何值,条件必须用括号括起来,语块1 语块2都是一个语句如果想使用更多请使用语块{}
if (a==0) //条件1
if (b==1)  alert(a+b);   //条件 2 和语块1
else
alert(a-b);
此程序利用缩进的方法 让条件1对应 Else后面的语句,但是浏览器解释的时候会因为第二行语句离Else最近,所以不成立,以后还真给注意。正确的是使用语块,不过利用缩进让语句更清晰是个好习惯,方便程序员进行编写或修改工作。
if (a==0) {
if (b==1) alert(a+b);
}
else {
alert(a-b);
for语句
for (<变量>=<初始值>;><循环条件>;<累加条件>) <语句>;
本语句重复<语句>,直到重复条件为 假 FLASH 时为止,首先给变量赋值,然后判断循环条件是否成立,应该是判断变量表达式是否成立,如果成立便执行<语句>,然后安变量累加条件循环重复,到不成立时结束 如
for (i = 0 ;i<10 ;i++) document.write(i);
首先 给 i 赋值 为 0,然后执行document.write(i),循环不满足i <10 每次循环 i++ 循环到i >=10为止
与If语句一样 <语句>只能是一行,如果要使用多行请用 语块 {}
与其他语言不同 javascript的 for  循环没有规定 如果循环就一定要加 1或者减 1,也可以是i+=2
i/=5 i*=2 i%=2
提示 适当的使用 for 循环,能使 HTML 文档中大量的有规律重复的部分简化,也就是用 for 循环重复写一些 HTML 代码,达到提高网页下载速度的目的。不过请在 Netscape 中重复进行严格测试,保证通过了才好把网页传上去。作者曾试过多次因为用 for 循环向文档重复写 HTML 代码而导致 Netscape“猝死”。IE 中绝对没有这种事情发生,如果你的网也是只给 IE 看的,用多多的 for 也没问题。
while 语句
比 for 循环简单,while 循环的作用是当满足<循环条件>时执行<语句>。while 循环的累加性质没有 for 循环强。<语句>也只能是一条语句,但是一般情况下都使用语句块,因为除了要重复执行某些语句之外,还需要一些能变动<循环条件>所涉及的变量的值的语句,否则一但踏入此循环,就会因为条件总是满足而一直困在循环里面,不能出来。这种情况,我们习惯称之为“死循环”。死循环会弄停当时正在运行的代码、正在下载的文档,和占用很大的内存,很可能造成死机,应该尽最大的努力避免。
break和continue
break 当循环体内遇到了 break 就会立刻跳出循环
continue 当循环体内遇到了continue 就会跳出循环执行下一次循环 如:
for (i ==0 ,i<10,i++){
if(i==2 || i==6 || i==8) continue;
document.write(i)
}
结果将会是 134579 这次使用了 逻辑或 x || y 当任意一个值为真时就会执行,如果把 continue换回break 当遇到2时就会立即跳出循环了
switch 语句
看下面程序:
if (score=>0  && score<60){
result=‘ fail ‘ ;
}else if (score<=80){
result=‘ pass  ‘ ;
}else if (score<=90){
result= ‘ good ‘ ;
}else if(score<=100){
result=‘excellent‘ ;
}else {      resule=‘ error ‘ ;
}
执行起来包准没有问题可是好象不太例于分析。。下面接受switch
switch (e) {
case r1 : //注意冒号
...
[break;]
case r2 :
.....
[break;]
....
[default
.......]
}
这个语句的意思是 计算e的值与下面的R1 ..Rn 进行比较如果找到匹配的值就执行该语句,遇到break  终止,如果找不到匹配条件就与 default 进行比较,直到结束。改写程序:
Switch (parsInt(score/10)){
case 0 :
case 1 :
case 2 :
case 3 :
case 4 :
case 5 :
result =‘  fail ‘ ;
break;
case 6 :
result = ‘ pass ‘;
break;
case 7 :
case 8 :
result = ‘  good ‘;
break ;
case 9:
result = ‘ excellent ‘;
break;
default :
if (score ==100)
result =‘ excellent ‘ ;
else
result =‘ error ‘ ;
}
/*
if (score == 100) {
result = ‘  excellent ‘;
}else {
result=‘error‘;
}
} */
对象化编程
JAVAScript 是使用"对象化编程"的,也就是"面向对象",所谓对象化编程就是把JAVASCRIPT所涉及的范围,划分为对象,对象下面还继续设对象,直到详细为止,所有的编程都基于对象,小到一个变量,大到网页,窗口甚至屏幕.
对象:是从JAVASCRIPT中划出来的一小块,可以是一段文字,一个图片,一个表单.等等.每个对象都有自己的"属性""方法""事件" 对象的属性是把 反映 对象的某些性质,如:字段的长度,图片的高度,文字框里的文字等等~对象的方法 是能对该对象做一些事情,如:表单的提交,窗口的滚动,对象事件是响应 发生在对象身上的事,如:点击事件 提交事件 ~有些对象只有事件,有些对象只有属性,不是每个对象三个事件都有,如果要引用 对象 就 <对象名>  .  <性质>
基本对象
Number
这个对象很少见,基本上不用.
属性
MAX_Value        用法:Number . Max_Value ; 返回最大值
MIN_Value          用法 :Number . Min_Value; 返回最小值
NaN                      用法:Number.NaN  或NaN
NEGATIVE_INFINITY 用法:Number.NEGATIVE_INFINITY  返回无穷小的值,比最小值还小
POSITIVE_INFINITY   用法:Number.POSITIVE _INFITITY返回无穷大的值,比最大值还大
方法
toString() 用法:<数值变量>.toString() 返回字符形式的数值 如: a ==123 则 a . toString() ==‘123‘
String
字符串对象 声明一个字符串 最简单 快截 方法 就是直接赋值.
属性
Length  字符串的长度 <字符串变量> . 返回字符串的长度.
方法(10个方法)
charAt ( )                    用法:<字符传对象>.charAt(<位置>);返回该字符串对象的第<位置>的单个字符.
注意第一个字符是 0 ,第二字符是 1 字后一个字符 是Length - 1 .
charCodeAt( )           用法:<字符串对象>.charCodeAt(<位置>);返回该字符串第<位置> 的ASCLL码.
fromCharCode( )       用法:String.fromCharCode(a,b,c); 返回一个字符串,该字符串的ASCLL码有,          (a,b,c)来确定
indexOf( )         用法:<字符串对象>.indexOf(<另一个字符串对象>),[<起始位置>]; 该方法是从<字
符串对象>中返回<另一个字符串>的位置,如果给定起始位置就忽略之前的位置,如
果找不到就返回-1,所有位置都是从 0开始.
lastIndexOf( )  用法:<字符串对象>.lastIndexOf(<另一个字符串对象>),[<起始位置>] ;跟indexOf相似
只不过是从后面返回字符串
split( )               用法:<字符串对象>.split(<分隔符>); 返回一个数组该数组是从字符串从分离开来
<分隔符>决定了他们分开的地方.它本身不会包含在数组之中 .如: ‘1&2&345&678
&‘.split(‘&‘) 返回数组: 1 2 345 678
subString( )      用法:<字符串对象>.subString(<始>],<终>); 返回从原字符串分离出来的子字符         串,该字符串 是从开始的位置到终结的前一个字符,如果终结超过字符串长度,         那么就从结尾开始返回子字符串,如果指定位置不能返回字符串,就返回空值
subStr()                用法:<字符串对象>.substr(<始>],<终>);返回原字符串的子字符串,从始的位置               返回长<长>几的字符串,如果给定的长超出了原字符串的长度那么将一直读到结尾.
toLowerCase() 用法:<字符串对象>.toLowCase(); 把原来的大写字母换为小写字母
toUpperCase()    用法:<字符串对象>.toUpperCase(); 把原来的小写字母换为大写字母
Array
数组对象是一个对象的组合,里边的对象可以是任何类型的,每个对象都一个对应的小标.来表示他的位置, 既然是 位置那就是从 0开始的了
定义对象    方法: var  <数组名称> =  new Array() ; 这样就定义了一个新的数组.以后给数组添
加"元素"  就用 <数组名>[<下标>]... 注意 方括号不是可以省略,是必须有的,如果想在初始化的时候给数组添加元素 用下面这个:var  <数组名> = new Array(<元素>,<元素>,<元素>....) ;如:
var myarray = new Array(1,4.5,‘wo‘) ; 那么 myArray[0] = 1 myArray[1] = 4.5 myArray[2] = ‘wo‘ 注意 如果数组只定义一个元素,而这元素又是 正整数 那么数组将定义<正整数> 个元素的空数组.
JAVASCRIPT 只有一维数组,千万不要用 Array(3,4) 来定义4*5的二维数组 或者用 myarray[3,4] 来返回数组,那只会返回3.
如果要使用多为数组就用下面这种虚拟的方法:
var Array = new Array(new Array(),new Array(),new Array(),..);
其实这是一个一维数组,里边的元素又是数组,要调用这个二维数组 就用 myArray[2][3] =.... ;
属性
Length()  用法:<数组对象> . Length ; 返回数组的长度,数组的长度等于数组的最后一个元素的小标+1
所以想添加一个数组元素只需要 myArray[myArray.Length] = .. ;
方法
join()          用法:<数组对象> . join(<分隔孵>) ; 返回一个字符串,把数组对象中的各个元素连接起
来,用(<分隔符>) 置于元素中间,这种方法不至于改变原字符串
Reverse()  用法: <数组对象> . Reverse() ; 把数组中的对象反回来,如果是[1,2,3],那么反回来就是
[3,2,1,]
Slice()       用法:<数组对象> . Slice(<始>],终) ; 返回一个数组,是原数组的子集, 从开始的位置到就结束
的长度,如果<终>的位置不正确那么将返回到结尾
Sort()      用法:<数组对象> . Sort([方法函数]) ; 使数组中的元素按照一定的顺序排列,如果没有指
定方法函数,将按 字母顺序排列,这样 80 要比 9排在前面,方法函数比较难讲述.

var myarr = new Arrray(11,22,33,44) ;
Function Sortmetlod(a,b){
return (a-b) ;
}
End Function
myarr . Sort( sortMeTlod);

如果按降序排列 将下面的 A - B ; 换为B -A ;
Math
数学对象,用于计算数据的值 下面提到的 属性 方法 就不在详细讲述他们的用法,只要记住
Math . <名> ;  即可~
属性
Math . e   返回常数e (2.718281828)
Math . LN2             返回2的自然对数 (Ln 2)
Math . LN10           返回10的自然对数 (Ln 10)
Math . LOG2e          返回以2为底e的对数 (Log2e)
Math . LOG10e        返回以10为底e的对数 (Log10e)
Math . PI                  返回 "?"(3.1415926535...)
Math . SQRT1_2     返回1/2 的平方根
Math .  SQRT2         返回 2 的平方根
方法
Math . abs(x )  返回 X 的绝对值 .
Math . cos(x)   返回 X 的余旋值 .
Math . acos(x) 返回 X 的反余旋值 余旋值取决于X的角度,用弧度表示.
Math . sin(x)    返回 X 的正旋值 .
Math . asin(x)  返回 X 的反正旋值 .
Math . tan(x)   返回 X 的正切值
Math . atan(x) 返回 X 的反正切值
Math . atan2(x,y) 返回复平面内点(x,y)对应复数的幅角,用弧度表是,其值在 -? 与 ? 之间
Math . ceil(x)   返回大于等于X 的最小整数
Math . exp(x)   返回 e 的 X 幂 (ex)
Math . floor(x) 返回小于等于X的最大整数
Math . log(x)    返回 X 的自然对数(ln x)
Math . max(a,b) 返回 a b 中 较大的数
Math . min(a,b)   返回 a b 中 较小的数
Math . pow(n,m) 返回 n 的 m  次幂
Math . random()  返回一个大于0 小于 1 的随机数
Math . round(x)   返回 X 一个四舍五入的值
Math . sqrt(x)       返回 X 的平方根
Date
日期对象 是从0001年计算到9999可以精确到毫秒(1/1000秒),在内部日期对象是一个整数,它是从19701 月 1日 零时正开始计算到当前时间的毫秒数,如果比1970 年早那么他将是一个负数,如果不指定时间那么将采取通用 UTC(世界时)时区,也可以指定GMT (格林威制时间),在数值上是一样的~
定义日期对象
var d = new date ;
初始时间
var d = new date(99,10,1) ;
var d = new date( ‘ oct,1,99 ‘ ) ;
方法
以下有g/set[UTC]XXXX 这样的方法,它表示即有 "getXXXX" 方法 ,又有"setXXXX"方法,g代表获得时间,s代表设置时间,如果带有[UTC]字样代表获得或者设置为世界时间,如果没有就掉表,使用本地时间或者浏览器默认时间.
g/set[UTC]FullYear()  返回或设置年.用四位数表示,如‘x . set[UTC]FullYear(99)‘则年份会被设置为
(0099)年
g/set[UTC]Year()         返回或设置年,用两为数表示,浏览器会自动加上 19 开头 如:‘x.set[UTC]
(00)‘则是 (1900)
g/set[UTC]Date()               返回或设置日期.
g/set[UTC]Month()            返回或设置月份.
g/set[UTC]Day()                 返回或设置星期, 0代表星期日
g/set[UTC]Hours()             返回或带表小时,24小时制
g/set[UTC]Minutes()         返回或设置分数
g/set[UTC]Seconds()         返回或设置秒数
g/set[UTC]Milliseconds() 返回设置毫秒数
g/setTime()    返回或设置时间,这是日期对象的内部处理方法 计算1970 1月 1日零时正到日期对象设
置的时间的毫秒数 如果想使时间推后一小时 用 x.setTime(x . getTime() + 60*60*1000);
getTimezoneOffset()  返回日期对象采用的时区和格林威治所差的分钟数.靠 格林威治东方的市区为负
数如,中国失去 (GMT + 0800) 返回 -480
toString()        返回一个字符串来表示 日期对象 所知的时间 .格式类似于" Fri july 21 21:45:54 UTC+
0800 2000"
toLocaleString()  返回一个字符串表示日期对象时间,用本地格式 " 200-07-17 15:45:45"
toUTCstring()      返回一个字符串用UTC 格式表示其格式
toGMTsting()       返回一个字符串用GMT格式表示其格式
parse                      用法Date . parse(<日期对象>) ;  返回内部对象的内部表达法~
全局对象
全局对象是虚拟出来的,目的是把全局函数 对象化 在 Microsoft JavaScript 参考手册中 叫他 Global 对象,但是引用他的时候从不用 Globl.xxxx 而是直接 XXXX 来引用
属性
NaN      一早就提过了
方法
eval()        把括号内的字符当做一个语句或表示式来执行.
toSring()  <对象> .  toString() ; 把对象转换为字符串,如果括号内有数值,则转换时按特定进制进行转

eSpace     类似于 ASP  中的Server . URLEnCode() 用于 URL 编码如把空格编码成 %20这种形式
+号不被编码如果编码用 eSpase(‘......‘,1)
uneSpace()  eSpace 的反过程,把括号内的字符串解编成一般字符
isFinitn()       如果括号内的数字是有限的返回True(界于Number . MAX_VALUE Number.MIN_VALUE)
否则返回假
isNaN          如果括号内的是NaN就返回真 否则假
parseInt       返回括号内的字符串换成整数后的值,如果括号内的是字符串则字符串开头的数字会被转换
为整数,如果是字母就返回NaN
parseFloat    返回括号内的字符换为浮点数,如果是字符串则把开头的数字部分换为浮点数,如果四字
母就返回NaN
函数
所谓函数就是返回值的对象和对象的方法.
函数的种类
构造函数如Array()  全局函数 如 全局方法  自定义函数
以下是自定义函数的语法
function [<函数名>] (参数) {
..........
return [<值>] ;
...........
}
End function
函数后见的大括号必须给有,即使后面只有一个语句,函数名和参数的定义和变量有一样的约束
参数; 是函数内部和外部沟通的桥梁,如果想让函数计算 3的立方就必须知道有 3这个数了,这就要用到 参数了
函数里面可能有一条或多条语句,但他们并不会立即执行,而是等到调用他们的时候他们在执行,当碰到 Return 语句的时候 就会停止并返回 调用他们的程序,如果Return 后面有值,就返回 值
下面是个例子
function addAll(a,b,c){
return a + b + c ;
}
End function
var bbb = aaa(a,bc);
更多时候函数是没有返回值,而象这种 在 BASIC 中叫过成,用 SUB 来定义的,在 Pascal中用Procedurc来定义.
属性
arguments 是一个数组,反映外部应用程序调用的参数,用法:直接在函数内部调用arguments
文档对象
下面我来讨论更实际点的对象DOM ,文档对象是从网页文档里划分出来的对象,在JAVASCRIPT里所能设计的对象有以下几个,Window ,document,history,Location,screen,navigator.要引用某个对象就要把父级对象,引用出来,如 :要引用 applicationForm的某文字框 customerName 就要用 document.application.customerName,下表中有些对象是小写,有些是大写,大写的对象不用下表所列的名字而是用,对象的名字,如 ID ,Name 等
对象表:
●navigator 浏览器对象
●screen 屏幕对象
●window 窗口对象
▲history 历史对象
▲location 地址对象
▲fraems[]; fraem 框架对象
▲document 文档对象
∽ anchors[ ]; links[ ]; link 连接对象
∽ applets[ ]; JAVA 小程序对象
∽ embeds[ ] ; 插件对象
∽ forms [ ] ; Form 表单对象
·Button 按扭对象
·checkBox 复选框对象
·elements[]; Element 表单元素对象
·Hidden 隐藏对象
·Radio 单选按扭对象
·Reset 重选按扭对象
·select 选择框对象 下拉表单和列表对象
。Options[] ;option 选择项对象
·submit 发送对象
·text 文本框对象
·textarea 多行文本框对象
∽ images 图象对象
Navigation 浏览器对象,反映了浏览器的资料
属性
Navigator . appCodeName 返回浏览器的"码名" IE 和 NETspace都返回Mozilla(MOZILLA)
Navigator . appName 返回浏览器的名
Navigator . Version 返回浏览器版本号,包括大版本 和小版本,操作平台 ,语言
Navigator . platForm 返回浏览器的操作平台,对于 WIN9X以上的浏览器返回 WIN32 大小写可
能有差异
Navigator . userAgent 返回以上全部信息,如: IE 5.0 ‘Mozilla/4.0 (compatible; MSIE 5.01; Windows
98)‘。
Navigator . javaEnabled 返回一个BOOLEAN 值 测试浏览器是否允许 JAVA
Screen 屏幕对象 返回用户的当前屏幕设置
属性
Screen . width 返回屏幕的宽度
Screen . height 返回屏幕的高度
Screen . availWidth 返回屏幕的可用宽度(除去了一些不自动隐藏类的任务栏)
Screen . availHeight 返回屏幕的可用高度(除去了一些不自动隐藏类的任务栏)
Screen . colorDepth 返回屏幕的颜色设置
Window  窗口对象,最大的对象,知浏览器的窗口,一般引用他的时候不是Window .xxxxx 而是直接用XXXX,一个框架网页也是一个窗口
下设:History location fraems[]; documents
属性
name 窗口名称,我们一般不会用这个属性,或框架
status 状态栏知窗口下面的状态栏,可以改变其属性从而改变起显示内容
Window . opener 返回打开本窗口的窗口对象 ,如果找不就返回null ,不要用undefined,那就是未定
义了
self 返回本身窗口,最常用的方法就是 self . close () ;放在
标记中为
关闭窗口
parent 返回窗口的框架对象
top 返回占据正个窗口上方对象框架
history  历史对象
location 地址对象
document 文档对象
fraems[]; 框架对象
方法
open(); 用于打开一个新的窗口 用法:open(,<窗口名称>,<样貌参数同html>) ;
:指定打开URL地址,如果为空(‘ ‘)就不打开任何网页
<窗口名称>: 描述被打开窗口的名称(window . name),可以用‘_top ‘ ‘_bland ‘等内建名称,同html的
target=... 是一样的
<样貌参数>: 指定被打开窗口的样貌,如果是打开一个普通窗口就为可空 ‘ ‘ 如果指定样貌就用参
数,中间用逗号阁开
例如打开一个400X100的干净窗口
open( ‘ ‘ , ‘ _blank ‘,‘width = 400,height = 100,menubar = no, location = no, directories = no,status = no,scrollbars = yes,resizables = yes ‘ )
参数:
top 窗口离开屏幕顶端的象素
left 窗口离开屏幕左端的象素数
width 窗口的宽度
height 窗口的高度
menubar 窗口有没有菜单 yes or no
toolbar 窗口有没有工具条yes or no
location 窗口没有地址栏 yes or no
directories 窗口没有没连接区 yes or no
scrollbars 窗口没有滚动条 yes or no
status 窗口有没有状态栏
resizable 窗口是否可以调整大小 yes or no
Open() ;有返回值,返回值就是打开他的窗口对象
var newWindow = open(‘‘,‘_blank‘,‘‘);
这样把一个窗口赋值到变量中,以后调用变量就可以控制窗口了
close(); 关闭一个已经打开的窗口
用法 : window .close() ; self . close() ;
<窗口对象> . close () ; 关闭指定窗口.
如果该窗口有状态栏Status 那么将询问是否关闭窗口,如果没有将直接关闭窗口..
blur () ; 使焦点从窗口移走,使窗口变为非活动窗口
focus() ; 使窗口获的焦点,不过在WIN98下,只是在标题栏和任务栏闪烁,表示正在试图获得焦

scrollTo(x,y); 用法:[<窗口对象>] . scrollTo(x,y); 使窗口滚动,文档从左上方(x,y)点滚动到窗口左上

scrollBy() ;   用法:[<窗口对象>] . scrollBy(deltaX,deltaY);l使窗口向右滚动deltaX个象素,向下滚动
deltaY个象素,如果是负值则 向相反方向移动
resizeTo() ; 用法:[<>] . resizable(widt,height) ; 调整窗口大小,使窗口调整到width宽,使窗口调整
到height高.
resizeBy() ; 用法:[<窗口对象>] . resizeBy(deltaX,deltaY) ;使窗口调整大小,宽增大deltaX个象素
高增大到deltaY 个象素.如果是负值怎相反
alert() ; 用法:alert() ; 弹出一个带有字符串STING和确定按钮的窗口,这时正个文
档和Script都会停止,直到按下确定按钮
confirm() ;   用法:confirm(); 弹出一个带有字符串sring和确定和取消按钮的对话框,这时正个
文档和Script将会停止,直到按下按钮,如果确定则返回True 如果按下取消则返回flash.
prompt() ; 用法:prompt(,]初始值) ;弹出一个带有确定和取消按钮的对话框,带有字符串
sring,要求输入内容,如果设定初始值,输入值则显示初始值,如果按下确认按钮就返回
文本框里的内容,如果点取消就返回NULL,同上,正个文档和Script将会停止运行
History 历史对象 由于安全需要,历史对象的功能受到了很大的限制.
属性
length 历史的相数,JAVAscript所能管到的只有前进和后退两个可以去的范围,本属性返回的是
前进和后两个毽下地址数的和.
方法
history . back( ) 跟后退键是等效的
history . forward() 跟前进键是等效的
history . go(x) 在历史范围内指定一个地址 如果x < 0怎后退X个地址,如果X>0则前进x个地址,如
果X== 0则,刷新当前网页, history . go(0) = location.reload() 是一样一样地
Loaltion 地址对象,它描述的某一个窗口所打开的地址对象,如果要表示当前窗口的地址用
Loaltion 就可以了,如果要表示某一个窗口的地址,就用<窗口对象> . Loation
注意 :属于不同主机和不协议的的两个站点的,Location 对象不能互相引用,如当前的是www.a.com
的Location 如如果要打开www.b.com的Location 对象 bWindow 在样引用 bWindow.Location是不行的,会出现错误,是不能用 onError事件来处理地
方法
Location . reload(); 相当于 IE中的刷新或者是History . go( 0 ) ;
Location . replace(URL ) ; 打开一个地址,但是如果用这个方法将不能用返回键来返回
属性
protocol 返回地址的协议:‘HTTP‘,‘HTTPS ‘,‘FILE‘ 等等
hostname 返回主机名,例如一个:www.microsfot.com/in/ 的Location . hostname ==
www.microsoft.com
prot 返回端口号 一般HTTP的端口好是 80
host 返回端口号 和主机名‘www.microsoft.com:8080‘
pathname 返回路径名 如果地址为www.microsoft.com/a/a.sp 那么Location . pathname == ‘a/a.asp‘
hash 返回#号以后的字符 例如:www.microsoft.com/a.asp#chaper4 那么Location . pathname ==
‘#chaper4‘ 如果没有#号返回 空
seach 返回?号以后的字符 例如:www.microsoft.com/a.asp?id=3 那么Location . seach == ‘?id=
3‘ 如果没有?号就返回空
href 返回以上所有内容 返回以上所有 ,也就说怎么显示就怎么发返回 如果要连接到别的地址可以用 Location == ‘........ ‘ Location . href == ‘....... ‘
Frames[ ]; Frame 框架,请见使用Cookie 一章;
Document 文档对象,描述了当前窗口和指定窗口的文档从到
用法:document(当前窗口)
或 <窗口对象> . document(指定窗口)
属性
document . cookie 具体请看使用框架和COOKIE 一张
document . lastModified 本属性指的是本文档最后的修改日期 是一个Date对象
document . referrer 如果的当前文档是用连接打打开的则 referrer返回原先的 URL
document . fgcolor 指定TEXT控件里的文字颜色
document . bgcolor 指定指定标记的bgcolor属性
document . title 指定里的...里的文字,如果是Netscape不接受赋值
document . linkcolor 指定标记里的 link 连接的颜色
document . alinkcolor 指定标记里的alink 活动连接的颜色
document . vlinkcolor 指定标记里的vlink已访问过的连接颜色
方法
Document . open ( ) 打开一个文档,以便JAVASCRIPT在当前位置插入数据,不过通常不用该方
法,一般JAVASCRIPT自动调用
Document . writeln(write)( ) 向文档写入数据,所写入的当成标准的HTML文档来处理,write() 和writeln
不同之处在于,writeln()在插入后面加了一个换行,到底能不能显示出来,要
看插入的位置,如果在
中插入的话,那么换行也将被显示出来
Document . clear ( ) 清空文档
Document . close ( ) 关闭文档停止写入数据,如果JAVASCRIPT没有写完不要加入此方法,也就
是说JAVASCRIPT 插入在文档中,如果使用write[ln] 或Clear就必须使用该方
法,一保证能够更改能够表示出来
Anchors [ ] ; links [ ] ; link 连接对象.
Document . anchors[(x)] ; Document . links [ (x)] ;;
Document . anchors [(x)] ; 是一个数组包含了,文档中所有的锚标记(包括带Name的标记),按锚在文档中的顺序给每个锚定义了一个下标[(x)]
Document . links [(x)] ;也是一个数组,包含了文档里所有的连接(包括Href里
里带),按照在文档中的次序给连接从0开始个下标
如果一个
中即有NAME 和 HREF 他即是一个 anchors 也是一个 LINK
在IE中如果
中加上一个 ID标记,当引用这个连接的时候,用ID也可以,很多文档部件都用ID来布置,但要保证不能有相同的ID
属性
同Location 的属性
protocol
prot
hostname
host
pahtName
hash
seach
href
target
事件
onclick; onmouseover; onmouseout; onmousedown; onmouseup
applets [ ]; JAVA小程序对象
是一个数组,包含了文档中所有的 Applet 对象(Java 小程序)。作为一个数组,有数组的属性和方法。关于单个 Applet 对象的属性和方法,我引用一句话:“Applet 对象继承了 Java 小程序的所有公共属性和方法。”(英文原句:The Applet object inherits all public properties of the Java applet./The Applet object inherits all public methodss of the Java applet.) 因为本人很厌恶 Java 小程序,所以对它的什么“公共”“私有”的问题不感兴趣,也就没有探讨了。
embeds [ ] ; 插件对象,包含了文档里所有的插件对象因为插件不同所有Embeds也有不同的方法和属性
Form 表单对象,他是一个数组,document . form[x] ; 不过一般不这么用,在定义表单的时候,给一个Name 属性,然后这么引用,document . <表单名> 就可以了
属性:
Method 返回/设定指定传输数据的方式: GET OR POST 第一个是是用:Request.querystring来传递在URL头
中,暴陋数据,第二个是用Request.Form 来传递
Name 指定表单名
Action 返回/设定指定处理页面
Target 返回/设定 表单提交后的返回窗口
Length 返回表单的元素数
Encoding 返回表单的编码方式
事件
onreset , onsubmit
以下是从Button 到 Textarea
Button 按钮对象,有指定,引用该按扭的方法是:<文档对象>.<表单对象>.<按扭对象>
Name 返回按钮的名称
Value 返回设定按扭的元素值
Form 返回该按钮属于哪个表单
方法
Blur() 把焦点从该元素身上移开
Fcous()  获得焦点
Chick()  模拟鼠标点饥该对象
Checkbox 复选框对象,定义方法:
Name 返回该对象的名称
Form 返回包含本元素的表单对象
Value 返回/设定包含本元素的对象
Checked 返回/设定选定该复选框是否被选中 0或 1
DefaultChecked 返回/设定该复选框默认是否被选中 0 或 1
方法
Blur() 把焦点从该元素移开
Focus() 获得焦点
click() 模拟鼠标点击该对象
Hidden 隐藏域对象
Name 返回隐藏域的名称.
Value 返回指定元素的值.
Form 返回包含本元素的表单对象.
无方法
Password 密码输入区对象
Name 返回表单的名称
Value 返回/设定密码输入区的当前值
DefaultValue 返回/设定密码输入区的默认值
Form 返回包含本元素的表单
方法
Blur() 把焦点从该元素上移开
Focus 获得焦点
Select() 选种当前的密码输入区的文本
Radio 单选按钮,,一组Radio有共同的Name属性,如果想引用单个Radio就给用
属性
Name 返回Radio的名字.
Value 返回/设定Radio的元素值.
Checked 返回/设定表单是都被选中,是一个布尔值.
DefaultChecked 返回/设定 表单的默认是否被选中.
方法
Blur() 把焦点从该对象中移开
Focus() 获的焦点
Chick() 模拟鼠标点击该对象
事件
Onclick
Reset 重置按钮对象因为Reset也是按狃所以他也有Button的属性至于
onClick 用Form 对象的onReset
Select 选择域,一般用
属性
Name 设定选择域名称
Length 返回选择域的的项数
SelectedIndex 返回被选种选项的下标,也就是Optings[x];数组中选项的位置,如果选择域允许多项选
择,则返回第一个被选种的项
Form 返回包含该对象的表单
方法
Blur() 把焦点从该对象移开
Focus() 获得焦点
事件
onChange
Options[ ]; Option 选择项对象
options[] 是一个数组,包含了在同一个 Select 对象下的 option 对象。Option 对象由“ 因为Submit也是按钮 所有Button的所有属性和方法都适用
于Submit 至于Submit的onclick 事件可以用Form 的onSubmit来代替
Text 文本框对象 ,PassWord也是Text的一种,所有PassWord 的所有属性和方法,Text 都有

Textarea 多行文本框,由