中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
我自己總結(jié)的關(guān)于JS入門的手記
轉(zhuǎn)帖---我自己總結(jié)的關(guān)于JS入門的手記,希望對大家有幫助

JAVA SCRIPT 手記

語言基礎(chǔ)篇

JAVA  SCRIPT 不是JAVA ,兩者是完全不同的

JAVA 全稱是 JAVA APPLET(.CLASS)是一個APPLET文件 有自己獨立運行的窗口小程序,能訪問HTTP ,F(xiàn)TP 協(xié)議

JAVA SCRIPT 是一種腳本,功能要比 JAVA 小的多。沒有獨立的運行窗口,瀏覽器當(dāng)前窗口就是他的運行窗口。

兩者完全相同的是二者都是用。JAVA做為編程語言了

在 FrontPage 菜單 | 工具 | 宏 | Microsoft 腳本編輯器 (這是一個腳本編輯器)

JAVA SCRIPT 的插入方法:

JAVA SCRIPT 可以插在任何地方,在HTML 之前或之后都可以,但注意的是如果要在框架網(wǎng)頁中插入必須在 <frameset> 之前插入否則是不會運行的~~~~
基本格式如下
<script RunAt="Server" Language="Java Script">
<!--
....
JAVA SCRIPT 語句
...
//-->
</script>
這其中還有兩個關(guān)鍵字 Server 和 Language,Server 包括(Server Side服務(wù)器端 and Client Side客戶端)
我們所研究討論的是 客戶端即 Client Side
插入的幾種方法
1.通過 . JS 文件插入:<Script src ="文件路徑.js"></Script>
2.插入到 HTML 中 <a Href= "JAVA SCRIPT: <JAVASCRIPT 語句>">連接名</a>
3.結(jié)束 符號 “ ;”是分號,雖然有的瀏覽器允許 回車做為結(jié)束符號,但培養(yǎng)用分號做為結(jié)束符號       是個好習(xí)慣 <語句> ;
4.{} 大括號里邊的一個或者N個語句被叫做 語句塊 ,雖然在括號里邊是幾個語句,但在外邊被視為一個語句的,語句塊是個可以嵌套的
JAVA SCRIPT中的變量

變量 從字面上理解就是可變的量,從編程的角度講就是存儲某種/某些數(shù)值的存儲器,所存儲的值可能是數(shù)字,字符或者其他的東西。
變量的要求:
1.只包字母和數(shù)字和下劃線
2.必須以字母做為開頭
3.不能太長,我記的VBScript中的變量要求是 0-255,誰又會用太長的字符做變量呢,傻瓜
4.不能用JAVA SCRIPT 的保留字,保留字就是JAVA SCRIPT語言中的命令 如(Key  words Reserved)
5.注意變量是區(qū)別大小寫的 例如Variable 和variable 是完全不一樣的
6.沒有聲明的變量是不能夠使用的 否則或出錯未定義,不象 VbScript中未聲明就可以使用,在VbScript中,用Option Explicit  可以強(qiáng)制聲明變量 ,但必須在腳本中的最上方輸入命令。
7.在JAVA SCRIPT 中聲明變量最好是用 變量本身的意義和作用命名,這樣別人在讀你的程序的時候可以理解你的意思,自己在以后的修改中也是很方便的,命名的方法最好是 開頭的字母用小寫 如:myVariable  myAnotherVariable,以后各個單詞的開頭字母用大寫,這樣不只是為了美觀也是為了易讀在 JAVASCRIPT中一些命令就是這么定義的,如 indexOf  , charAt

變量的聲明
var   <變量> [= <值>] ;
其實最簡單的辦法就是 var <變量>; ,這樣給變量留出內(nèi)存,以后使用,這樣變量的初始值,就是NULL ,如果給賦值 的話,其初始值就是 [=<值>]

數(shù) 據(jù) 類 型

整型(Integer):可以是 正整數(shù) 0 負(fù)整數(shù) 也可以是 十進(jìn)制 八進(jìn)制 或者 十六進(jìn)制的
八進(jìn)制的數(shù)表示是在數(shù)前面加 0 如 123 八進(jìn)制表示是 0123
十六進(jìn)制的數(shù)是在前面加  0X 如 0XEF 是表示 十六進(jìn)制的 “EF”
浮點數(shù) (single,double) 實刑 就是小數(shù)了,實踐證明有些瀏覽器對小數(shù)的支持不很穩(wěn)定,建議不要用,。。。
字符串型(string) 即用 “”‘’包起來的0個或多個字符, 那個開始那個結(jié)束,不能嵌套,如果嵌套就用轉(zhuǎn)義字符
轉(zhuǎn)義字符(...)由于一些字符不能夠在屏幕上顯示,或者JAVASCRIPT 用了特殊用途,所以必須用轉(zhuǎn)義字符,轉(zhuǎn)義字符是 "\" 開頭:\’單引號、\ ”雙引號、\n回車符、\r 換行符
如:‘MICRO說:"這里是\"JAVASCRIPT\"。"’
布爾型(Boolean)  只有Ture 真 和 Flash 假  之分,他們屬于常數(shù).
對象  (Object) 在以后講到
JAVASCRIPT 一般來說聲明變量要聲明數(shù)據(jù)類型,但是JAVASCRIPT要求不嚴(yán)格,所以即使給定數(shù)據(jù)類型,但是也可以賦予別的值。

var aString = ‘ ’; 把變量賦值為字符型
var anInteger = 0 ;   把變量賦值為 整型
變量一經(jīng)聲明就可以在以后的使用中賦予值
<變量> = <表達(dá)式>;
JAVA SCRIPT 中有以下幾個常數(shù):
NUll 空值,當(dāng)定義變量時,不定義初始值的時候就是NULL

NAN  是 NOT A NUMBER  是一個非常特殊的數(shù),他不等于任何數(shù),甚至NAN本身也不等于NAN

TRUE  真   FLASH  假
MATH 對象中還有一些常數(shù),這將在 以后的對象化編程里講到..
表達(dá)式和運算符號

表達(dá)式 的定義和數(shù)學(xué)中的相似,就是具有一定的值,用運算符把常數(shù)和變量連接起來的代數(shù)式。一個表達(dá)式可以包含一個常數(shù)和一個變量。
運算符 包括 四則運算符  關(guān)系運算符 邏輯運算符 位運算符 復(fù)合運算符
-----------------------------------------------------------------------------------------------------------------------------------------------
括號 (X),[X]        表明數(shù)組的維數(shù)和下標(biāo)
-----------------------------------------------------------------------------------------------------------------------------------------------
求反 -X                表示X的相反數(shù)
     !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的余數(shù)
加減  x+y                x加y的值
           x-y                x減y 的值
關(guān)系運算   x<y x>y x<=y x>=y      條件成立時 為真(True)  不成立時為假(Flash)
-----------------------------------------------------------------------------------------------------------------------------------------------
等于    x==y      當(dāng)x等于y 時返回真True 當(dāng)x不等于y 時返回假
不等于    x!=y        當(dāng)x 不等于y時 返回真True 當(dāng)x等于y時返回假
-----------------------------------------------------------------------------------------------------------------------------------------------
位與        x&y       當(dāng)兩個數(shù)位都為 1時返回1,其他情況下返回0
位異或     x^y    兩個數(shù)位中只要有一個為0就返回0 否則返回1
位或         x | y         兩個數(shù)位都為0時返回 0 ,只要有一個為 1就返回  1
位運算符通常會被當(dāng)作邏輯運算符來使用。它的實際運算情況是:把兩個操作數(shù)(即 x 和 y)化成二進(jìn)制數(shù),對每個數(shù)位執(zhí)行以上所列工作,然后返回得到的新二進(jìn)制數(shù)。由于“真”值在電腦內(nèi)部(通常)是全部數(shù)位都是 1 的二進(jìn)制數(shù),而“假”值則是全部是 0 的二進(jìn)制數(shù),所以位運算符也可以充當(dāng)邏輯運算符。
-----------------------------------------------------------------------------------------------------------------------------------------------
邏輯與   x&&y       當(dāng)兩個值同時為True 是 返回True ,否則 返回Flash

邏輯或      x  | | y        當(dāng)兩個這值只要有個一為True ,就返回True .否則返回Flash 即都為假
邏輯與/或有時候被稱為“快速與/或”。這是因為當(dāng)?shù)谝徊僮鲾?shù)(x)已經(jīng)可以決定結(jié)果,它們將不去理會 y 的值。例如,false && y,因為x == false,不管 y 的值是什么,結(jié)果始終是 false,于是本表達(dá)式立即返回 false,而不論 y 是多少,甚至 y 可以導(dǎo)致出錯,程序也可以照樣運行下去
-----------------------------------------------------------------------------------------------------------------------------------------------
條件     c?x : y          當(dāng)c的值為True 時 返回X的值 就執(zhí)行X 的語句 ,否則執(zhí)行Y語句
-----------------------------------------------------------------------------------------------------------------------------------------------
賦值      x = y  把y 的值給 x 并返回 所賦的值
復(fù)合運算  x+=y x-=y  x*=y x/=y x%=y 把x與y相加/減/除/乘/余 的結(jié)果 賦值 給X 并返回 x 賦值后的值
-----------------------------------------------------------------------------------------------------------------------------------------------
注意 所有四則運算有關(guān)的運算符都不能用在字符串變量上 字符和字符串可以用 +  ,+=連接
提示 請密切注意運算的優(yōu)先級。編程時如果不記得運算符的優(yōu)先級,可以使用括號( )。例如:(a == 0)||(b == 0)。
一些用來賦值的表達(dá)式,由于有返回的值,可以加以利用。例如,用以下語句:a = b = c = 10,可以一次對三個變量賦值。
語句

注釋 單行注釋 // 符號表示
      多行注釋 /* */ /*為開始 直到遇到*/結(jié)束
提示  如果程序需要草稿,或者別人來閱讀,注釋能夠幫上大忙,養(yǎng)成寫注釋的好習(xí)慣能節(jié)省你和其他程序員的大量時間,假如調(diào)試程序 ,想把這一段換成另一段或者暫時不使用這段,用注釋可以幫很好的忽略代碼
如果用了DELETE鍵呢,你以后想要回這段程序怎么辦
if語句
If (<條件>) 語塊1 [else <語筷2>]
這個語句有點象 ?: 假如 IF后面的 條件成立就執(zhí)行語塊 ,否則執(zhí)行else后面的語塊2,可是IF語句不返回任何值,條件必須用括號括起來,語塊1 語塊2都是一個語句如果想使用更多請使用語塊{}
if (a==0) //條件1
   if (b==1)  alert(a+b);   //條件 2 和語塊1
else
alert(a-b);
此程序利用縮進(jìn)的方法 讓條件1對應(yīng) Else后面的語句,但是瀏覽器解釋的時候會因為第二行語句離Else最近,所以不成立,以后還真給注意。正確的是使用語塊,不過利用縮進(jìn)讓語句更清晰是個好習(xí)慣,方便程序員進(jìn)行編寫或修改工作。
if (a==0) {
   if (b==1) alert(a+b);
}
else {
alert(a-b);
for語句
for (<變量>=<初始值>;><循環(huán)條件>;<累加條件>) <語句>;
本語句重復(fù)<語句>,直到重復(fù)條件為 假 FLASH 時為止,首先給變量賦值,然后判斷循環(huán)條件是否成立,應(yīng)該是判斷變量表達(dá)式是否成立,如果成立便執(zhí)行<語句>,然后安變量累加條件循環(huán)重復(fù),到不成立時結(jié)束 如
for (i = 0 ;i<10 ;i++) document.write(i);
首先 給 i 賦值 為 0,然后執(zhí)行document.write(i),循環(huán)不滿足i <10 每次循環(huán) i++ 循環(huán)到i >=10為止
與If語句一樣 <語句>只能是一行,如果要使用多行請用 語塊 {}
與其他語言不同 javascript的 for  循環(huán)沒有規(guī)定 如果循環(huán)就一定要加 1或者減 1,也可以是i+=2
i/=5 i*=2 i%=2
提示 適當(dāng)?shù)氖褂?for 循環(huán),能使 HTML 文檔中大量的有規(guī)律重復(fù)的部分簡化,也就是用 for 循環(huán)重復(fù)寫一些 HTML 代碼,達(dá)到提高網(wǎng)頁下載速度的目的。不過請在 Netscape 中重復(fù)進(jìn)行嚴(yán)格測試,保證通過了才好把網(wǎng)頁傳上去。作者曾試過多次因為用 for 循環(huán)向文檔重復(fù)寫 HTML 代碼而導(dǎo)致 Netscape“猝死”。IE 中絕對沒有這種事情發(fā)生,如果你的網(wǎng)也是只給 IE 看的,用多多的 for 也沒問題。
while 語句
比 for 循環(huán)簡單,while 循環(huán)的作用是當(dāng)滿足<循環(huán)條件>時執(zhí)行<語句>。while 循環(huán)的累加性質(zhì)沒有 for 循環(huán)強(qiáng)。<語句>也只能是一條語句,但是一般情況下都使用語句塊,因為除了要重復(fù)執(zhí)行某些語句之外,還需要一些能變動<循環(huán)條件>所涉及的變量的值的語句,否則一但踏入此循環(huán),就會因為條件總是滿足而一直困在循環(huán)里面,不能出來。這種情況,我們習(xí)慣稱之為“死循環(huán)”。死循環(huán)會弄停當(dāng)時正在運行的代碼、正在下載的文檔,和占用很大的內(nèi)存,很可能造成死機(jī),應(yīng)該盡最大的努力避免。
break和continue
break 當(dāng)循環(huán)體內(nèi)遇到了 break 就會立刻跳出循環(huán)
continue 當(dāng)循環(huán)體內(nèi)遇到了continue 就會跳出循環(huán)執(zhí)行下一次循環(huán) 如:

for (i ==0 ,i<10,i++){
if(i==2 || i==6 || i==8) continue;
document.write(i)
}
結(jié)果將會是 134579 這次使用了 邏輯或 x || y 當(dāng)任意一個值為真時就會執(zhí)行,如果把 continue換回break 當(dāng)遇到2時就會立即跳出循環(huán)了
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 ‘ ;
}
執(zhí)行起來包準(zhǔn)沒有問題可是好象不太例于分析。。下面接受switch
switch (e) {
case r1 : //注意冒號
        ...
[break;]
case r2 :
      .....
[break;]
....
[default
.......]
}
這個語句的意思是 計算e的值與下面的R1 ..Rn 進(jìn)行比較如果找到匹配的值就執(zhí)行該語句,遇到break  終止,如果找不到匹配條件就與 default 進(jìn)行比較,直到結(jié)束。改寫程序:
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 是使用"對象化編程"的,也就是"面向?qū)ο?,所謂對象化編程就是把JAVASCRIPT所涉及的范圍,劃分為對象,對象下面還繼續(xù)設(shè)對象,直到詳細(xì)為止,所有的編程都基于對象,小到一個變量,大到網(wǎng)頁,窗口甚至屏幕.

對象:是從JAVASCRIPT中劃出來的一小塊,可以是一段文字,一個圖片,一個表單.等等.每個對象都有自己的"屬性""方法""事件" 對象的屬性是把 反映 對象的某些性質(zhì),如:字段的長度,圖片的高度,文字框里的文字等等~對象的方法 是能對該對象做一些事情,如:表單的提交,窗口的滾動,對象事件是響應(yīng) 發(fā)生在對象身上的事,如:點擊事件 提交事件 ~有些對象只有事件,有些對象只有屬性,不是每個對象三個事件都有,如果要引用 對象 就 <對象名>  .  <性質(zhì)>
基本對象
Number
這個對象很少見,基本上不用.
屬性
MAX_Value        用法:Number . Max_Value ; 返回最大值
MIN_Value          用法 :Number . Min_Value; 返回最小值
NaN                      用法:Number.NaN  或NaN
NEGATIVE_INFINITY 用法:Number.NEGATIVE_INFINITY  返回?zé)o窮小的值,比最小值還小
POSITIVE_INFINITY   用法:Number.POSITIVE _INFITITY返回?zé)o窮大的值,比最大值還大
方法
toString() 用法:<數(shù)值變量>.toString() 返回字符形式的數(shù)值 如: a ==123 則 a . toString() ==‘123‘

String
字符串對象 聲明一個字符串 最簡單 快截 方法 就是直接賦值.
屬性
Length  字符串的長度 <字符串變量> . <Length> 返回字符串的長度.
方法(10個方法)
charAt ( )                    用法:<字符傳對象>.charAt(<位置>);返回該字符串對象的第<位置>的單個字符.              
                                     注意第一個字符是 0 ,第二字符是 1 字后一個字符 是Length - 1 .
charCodeAt( )           用法:<字符串對象>.charCodeAt(<位置>);返回該字符串第<位置> 的ASCLL碼.
fromCharCode( )       用法:String.fromCharCode(a,b,c); 返回一個字符串,該字符串的ASCLL碼有,         ?。╝,b,c)來確定
indexOf( )         用法:<字符串對象>.indexOf(<另一個字符串對象>),[<起始位置>]; 該方法是從<字                                  
            符串對象>中返回<另一個字符串>的位置,如果給定起始位置就忽略之前的位置,如          
                           果找不到就返回-1,所有位置都是從 0開始.
lastIndexOf( )  用法:<字符串對象>.lastIndexOf(<另一個字符串對象>),[<起始位置>] ;跟indexOf相似          
           只不過是從后面返回字符串        
split( )               用法:<字符串對象>.split(<分隔符>); 返回一個數(shù)組該數(shù)組是從字符串從分離開來              
            <分隔符>決定了他們分開的地方.它本身不會包含在數(shù)組之中 .如: ‘1&2&345&678            
                            &‘.split(‘&‘) 返回數(shù)組: 1 2 345 678
subString( )      用法:<字符串對象>.subString(<始>],<終>); 返回從原字符串分離出來的子字符         串,該字符串 是從開始的位置到終結(jié)的前一個字符,如果終結(jié)超過字符串長度,         那么就從結(jié)尾開始返回子字符串,如果指定位置不能返回字符串,就返回空值
subStr()                用法:<字符串對象>.substr(<始>],<終>);返回原字符串的子字符串,從始的位置               返回長<長>幾的字符串,如果給定的長超出了原字符串的長度那么將一直讀到結(jié)尾.
toLowerCase() 用法:<字符串對象>.toLowCase(); 把原來的大寫字母換為小寫字母    
toUpperCase()    用法:<字符串對象>.toUpperCase(); 把原來的小寫字母換為大寫字母

Array
數(shù)組對象是一個對象的組合,里邊的對象可以是任何類型的,每個對象都一個對應(yīng)的小標(biāo).來表示他的位置, 既然是 位置那就是從 0開始的了
定義對象    方法: var  <數(shù)組名稱> =  new Array() ; 這樣就定義了一個新的數(shù)組.以后給數(shù)組添                  
            加"元素"  就用 <數(shù)組名>[<下標(biāo)>]... 注意 方括號不是可以省略,是必須有的,如果想在初始化的時候給數(shù)組添加元素 用下面這個:var  <數(shù)組名> = new Array(<元素>,<元素>,<元素>....) ;如:
var myarray = new Array(1,4.5,‘wo‘) ; 那么 myArray[0] = 1 myArray[1] = 4.5 myArray[2] = ‘wo‘ 注意 如果數(shù)組只定義一個元素,而這元素又是 正整數(shù) 那么數(shù)組將定義<正整數(shù)> 個元素的空數(shù)組.
JAVASCRIPT 只有一維數(shù)組,千萬不要用 Array(3,4) 來定義4*5的二維數(shù)組 或者用 myarray[3,4] 來返回數(shù)組,那只會返回3.
如果要使用多為數(shù)組就用下面這種虛擬的方法:
var Array = new Array(new Array(),new Array(),new Array(),..);
其實這是一個一維數(shù)組,里邊的元素又是數(shù)組,要調(diào)用這個二維數(shù)組 就用 myArray[2][3] =.... ;
屬性
Length()  用法:<數(shù)組對象> . Length ; 返回數(shù)組的長度,數(shù)組的長度等于數(shù)組的最后一個元素的小標(biāo)+1
       所以想添加一個數(shù)組元素只需要 myArray[myArray.Length] = .. ;
方法            
join()          用法:<數(shù)組對象> . join(<分隔孵>) ; 返回一個字符串,把數(shù)組對象中的各個元素連接起          
          來,用(<分隔符>) 置于元素中間,這種方法不至于改變原字符串
Reverse()  用法: <數(shù)組對象> . Reverse() ; 把數(shù)組中的對象反回來,如果是[1,2,3],那么反回來就是      
         [3,2,1,]
Slice()       用法:<數(shù)組對象> . Slice(<始>],終) ; 返回一個數(shù)組,是原數(shù)組的子集, 從開始的位置到就結(jié)束
         的長度,如果<終>的位置不正確那么將返回到結(jié)尾
Sort()      用法:<數(shù)組對象> . Sort([方法函數(shù)]) ; 使數(shù)組中的元素按照一定的順序排列,如果沒有指
                  定方法函數(shù),將按 字母順序排列,這樣 80 要比 9排在前面,方法函數(shù)比較難講述.

<Scrip languae = javaScript>
var myarr = new Arrray(11,22,33,44) ;

Function Sortmetlod(a,b){
return (a-b) ;
}
End Function
myarr . Sort( sortMeTlod);
</Script>
如果按降序排列 將下面的 A - B ; 換為B -A ;

Math
數(shù)學(xué)對象,用于計算數(shù)據(jù)的值 下面提到的 屬性 方法 就不在詳細(xì)講述他們的用法,只要記住
Math . <名> ;  即可~
屬性
Math . e   返回常數(shù)e (2.718281828)
Math . LN2             返回2的自然對數(shù) (Ln 2)
Math . LN10           返回10的自然對數(shù) (Ln 10)
Math . LOG2e          返回以2為底e的對數(shù) (Log2e)
Math . LOG10e        返回以10為底e的對數(shù) (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) 返回復(fù)平面內(nèi)點(x,y)對應(yīng)復(fù)數(shù)的幅角,用弧度表是,其值在 -? 與 ? 之間
Math . ceil(x)   返回大于等于X 的最小整數(shù)
Math . exp(x)   返回 e 的 X 冪 (ex)
Math . floor(x) 返回小于等于X的最大整數(shù)
Math . log(x)    返回 X 的自然對數(shù)(ln x)
Math . max(a,b) 返回 a b 中 較大的數(shù)
Math . min(a,b)   返回 a b 中 較小的數(shù)
Math . pow(n,m) 返回 n 的 m  次冪
Math . random()  返回一個大于0 小于 1 的隨機(jī)數(shù)
Math . round(x)   返回 X 一個四舍五入的值
Math . sqrt(x)       返回 X 的平方根

Date
日期對象 是從0001年計算到9999可以精確到毫秒(1/1000秒),在內(nèi)部日期對象是一個整數(shù),它是從19701 月 1日 零時正開始計算到當(dāng)前時間的毫秒數(shù),如果比1970 年早那么他將是一個負(fù)數(shù),如果不指定時間那么將采取通用 UTC(世界時)時區(qū),也可以指定GMT (格林威制時間),在數(shù)值上是一樣的~
定義日期對象
var d = new date ;
初始時間
var d = new date(99,10,1) ;
var d = new date( ‘ oct,1,99 ‘ ) ;
方法
以下有g(shù)/set[UTC]XXXX 這樣的方法,它表示即有 "getXXXX" 方法 ,又有"setXXXX"方法,g代表獲得時間,s代表設(shè)置時間,如果帶有[UTC]字樣代表獲得或者設(shè)置為世界時間,如果沒有就掉表,使用本地時間或者瀏覽器默認(rèn)時間.
g/set[UTC]FullYear()  返回或設(shè)置年.用四位數(shù)表示,如‘x . set[UTC]FullYear(99)‘則年份會被設(shè)置為            
                 (0099)年
g/set[UTC]Year()         返回或設(shè)置年,用兩為數(shù)表示,瀏覽器會自動加上 19 開頭 如:‘x.set[UTC]
                                        (00)‘則是 (1900)
g/set[UTC]Date()               返回或設(shè)置日期.
g/set[UTC]Month()            返回或設(shè)置月份.
g/set[UTC]Day()                 返回或設(shè)置星期, 0代表星期日
g/set[UTC]Hours()             返回或帶表小時,24小時制
g/set[UTC]Minutes()         返回或設(shè)置分?jǐn)?shù)
g/set[UTC]Seconds()         返回或設(shè)置秒數(shù)
g/set[UTC]Milliseconds() 返回設(shè)置毫秒數(shù)
g/setTime()    返回或設(shè)置時間,這是日期對象的內(nèi)部處理方法 計算1970 1月 1日零時正到日期對象設(shè)      
           置的時間的毫秒數(shù) 如果想使時間推后一小時 用 x.setTime(x . getTime() + 60*60*1000);
getTimezoneOffset()  返回日期對象采用的時區(qū)和格林威治所差的分鐘數(shù).靠 格林威治東方的市區(qū)為負(fù)
                 數(shù)如,中國失去 (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(<日期對象>) ;  返回內(nèi)部對象的內(nèi)部表達(dá)法~

全局對象
全局對象是虛擬出來的,目的是把全局函數(shù) 對象化 在 Microsoft JavaScript 參考手冊中 叫他 Global 對象,但是引用他的時候從不用 Globl.xxxx 而是直接 XXXX 來引用
屬性
NaN      一早就提過了
方法
eval()        把括號內(nèi)的字符當(dāng)做一個語句或表示式來執(zhí)行.
toSring()  <對象> .  toString() ; 把對象轉(zhuǎn)換為字符串,如果括號內(nèi)有數(shù)值,則轉(zhuǎn)換時按特定進(jìn)制進(jìn)行轉(zhuǎn)
        換
eSpace     類似于 ASP  中的Server . URLEnCode() 用于 URL 編碼如把空格編碼成 %20這種形式
        +號不被編碼如果編碼用 eSpase(‘......‘,1)
uneSpace()  eSpace 的反過程,把括號內(nèi)的字符串解編成一般字符
isFinitn()       如果括號內(nèi)的數(shù)字是有限的返回True(界于Number . MAX_VALUE Number.MIN_VALUE)
         否則返回假
isNaN          如果括號內(nèi)的是NaN就返回真 否則假
parseInt       返回括號內(nèi)的字符串換成整數(shù)后的值,如果括號內(nèi)的是字符串則字符串開頭的數(shù)字會被轉(zhuǎn)換
                      為整數(shù),如果是字母就返回NaN
parseFloat    返回括號內(nèi)的字符換為浮點數(shù),如果是字符串則把開頭的數(shù)字部分換為浮點數(shù),如果四字
                       母就返回NaN          
函數(shù)
所謂函數(shù)就是返回值的對象和對象的方法.
函數(shù)的種類
構(gòu)造函數(shù)如Array()  全局函數(shù) 如 全局方法  自定義函數(shù)
以下是自定義函數(shù)的語法
function [<函數(shù)名>] (參數(shù)) {
..........
return [<值>] ;
...........
}
End function
函數(shù)后見的大括號必須給有,即使后面只有一個語句,函數(shù)名和參數(shù)的定義和變量有一樣的約束
參數(shù); 是函數(shù)內(nèi)部和外部溝通的橋梁,如果想讓函數(shù)計算 3的立方就必須知道有 3這個數(shù)了,這就要用到 參數(shù)了
函數(shù)里面可能有一條或多條語句,但他們并不會立即執(zhí)行,而是等到調(diào)用他們的時候他們在執(zhí)行,當(dāng)碰到 Return 語句的時候 就會停止并返回 調(diào)用他們的程序,如果Return 后面有值,就返回 值
下面是個例子
function addAll(a,b,c){

return a + b + c ;

}
End function

var bbb = aaa(a,bc);
更多時候函數(shù)是沒有返回值,而象這種 在 BASIC 中叫過成,用 SUB 來定義的,在 Pascal中用Procedurc來定義.
屬性
arguments 是一個數(shù)組,反映外部應(yīng)用程序調(diào)用的參數(shù),用法:直接在函數(shù)內(nèi)部調(diào)用arguments

文檔對象
下面我來討論更實際點的對象DOM ,文檔對象是從網(wǎng)頁文檔里劃分出來的對象,在JAVASCRIPT里所能設(shè)計的對象有以下幾個,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 小程序?qū)ο?br>∽ embeds[ ] ; 插件對象
∽ forms [ ] ; Form 表單對象
·Button 按扭對象
·checkBox 復(fù)選框?qū)ο?br>·elements[]; Element 表單元素對象
·Hidden 隱藏對象
·Radio 單選按扭對象
·Reset 重選按扭對象
·select 選擇框?qū)ο?下拉表單和列表對象
。Options[] ;option 選擇項對象
·submit 發(fā)送對象
·text 文本框?qū)ο?br>·textarea 多行文本框?qū)ο?br>∽ 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 屏幕對象 返回用戶的當(dāng)前屏幕設(shè)置
屬性
Screen . width 返回屏幕的寬度
Screen . height 返回屏幕的高度
Screen . availWidth 返回屏幕的可用寬度(除去了一些不自動隱藏類的任務(wù)欄)
Screen . availHeight 返回屏幕的可用高度(除去了一些不自動隱藏類的任務(wù)欄)
Screen . colorDepth 返回屏幕的顏色設(shè)置

Window  窗口對象,最大的對象,知瀏覽器的窗口,一般引用他的時候不是Window .xxxxx 而是直接用XXXX,一個框架網(wǎng)頁也是一個窗口
下設(shè):History location fraems[]; documents
屬性
name 窗口名稱,我們一般不會用這個屬性,<a target = ".....">或框架<fraems name="...">
status 狀態(tài)欄知窗口下面的狀態(tài)欄,可以改變其屬性從而改變起顯示內(nèi)容
Window . opener 返回打開本窗口的窗口對象 ,如果找不就返回null ,不要用undefined,那就是未定
        義了
self 返回本身窗口,最常用的方法就是 self . close () ;放在<a>標(biāo)記中為
<a href ="javascript:self.close();">關(guān)閉窗口</a>
parent 返回窗口的框架對象
top 返回占據(jù)正個窗口上方對象框架
history  歷史對象
location 地址對象
document 文檔對象
fraems[]; 框架對象
方法
open(); 用于打開一個新的窗口 用法:open(<URL字符串>,<窗口名稱>,<樣貌參數(shù)同html>) ;
<URL字符串>:指定打開URL地址,如果為空(‘ ‘)就不打開任何網(wǎng)頁
<窗口名稱>: 描述被打開窗口的名稱(window . name),可以用‘_top ‘ ‘_bland ‘等內(nèi)建名稱,同html的
       target=... 是一樣的
<樣貌參數(shù)>: 指定被打開窗口的樣貌,如果是打開一個普通窗口就為可空 ‘ ‘ 如果指定樣貌就用參
       數(shù),中間用逗號閣開 
例如打開一個400X100的干凈窗口
open( ‘ ‘ , ‘ _blank ‘,‘width = 400,height = 100,menubar = no, location = no, directories = no,status = no,scrollbars = yes,resizables = yes ‘ )
參數(shù):
top 窗口離開屏幕頂端的象素
left 窗口離開屏幕左端的象素數(shù)
width 窗口的寬度
height 窗口的高度
menubar 窗口有沒有菜單 yes or no
toolbar 窗口有沒有工具條yes or no
location 窗口沒有地址欄 yes or no
directories 窗口沒有沒連接區(qū) yes or no
scrollbars 窗口沒有滾動條 yes or no
status 窗口有沒有狀態(tài)欄
resizable 窗口是否可以調(diào)整大小 yes or no
Open() ;有返回值,返回值就是打開他的窗口對象
var newWindow = open(‘‘,‘_blank‘,‘‘);
這樣把一個窗口賦值到變量中,以后調(diào)用變量就可以控制窗口了
close(); 關(guān)閉一個已經(jīng)打開的窗口
    用法 : window .close() ; self . close() ;
<窗口對象> . close () ; 關(guān)閉指定窗口.
    如果該窗口有狀態(tài)欄Status 那么將詢問是否關(guān)閉窗口,如果沒有將直接關(guān)閉窗口..
blur () ; 使焦點從窗口移走,使窗口變?yōu)榉腔顒哟翱?br>focus() ; 使窗口獲的焦點,不過在WIN98下,只是在標(biāo)題欄和任務(wù)欄閃爍,表示正在試圖獲得焦
    點
scrollTo(x,y); 用法:[<窗口對象>] . scrollTo(x,y); 使窗口滾動,文檔從左上方(x,y)點滾動到窗口左上
       方
scrollBy() ;   用法:[<窗口對象>] . scrollBy(deltaX,deltaY);l使窗口向右滾動deltaX個象素,向下滾動
       deltaY個象素,如果是負(fù)值則 向相反方向移動
resizeTo() ; 用法:[<>] . resizable(widt,height) ; 調(diào)整窗口大小,使窗口調(diào)整到width寬,使窗口調(diào)整
       到height高.
resizeBy() ; 用法:[<窗口對象>] . resizeBy(deltaX,deltaY) ;使窗口調(diào)整大小,寬增大deltaX個象素
         高增大到deltaY 個象素.如果是負(fù)值怎相反 
alert() ; 用法:alert(<string>) ; 彈出一個帶有字符串STING和確定按鈕的窗口,這時正個文
      檔和Script都會停止,直到按下確定按鈕
confirm() ;   用法:confirm(<sring>); 彈出一個帶有字符串sring和確定和取消按鈕的對話框,這時正個
文檔和Script將會停止,直到按下按鈕,如果確定則返回True 如果按下取消則返回flash.
prompt() ; 用法:prompt(<string>,]初始值) ;彈出一個帶有確定和取消按鈕的對話框,帶有字符串
      sring,要求輸入內(nèi)容,如果設(shè)定初始值,輸入值則顯示初始值,如果按下確認(rèn)按鈕就返回
文本框里的內(nèi)容,如果點取消就返回NULL,同上,正個文檔和Script將會停止運行

History 歷史對象 由于安全需要,歷史對象的功能受到了很大的限制.
屬性
length 歷史的相數(shù),JAVAscript所能管到的只有前進(jìn)和后退兩個可以去的范圍,本屬性返回的是
前進(jìn)和后兩個毽下地址數(shù)的和.
方法
history . back( ) 跟后退鍵是等效的
history . forward() 跟前進(jìn)鍵是等效的
history . go(x) 在歷史范圍內(nèi)指定一個地址 如果x < 0怎后退X個地址,如果X>0則前進(jìn)x個地址,如
果X== 0則,刷新當(dāng)前網(wǎng)頁, history . go(0) = location.reload() 是一樣一樣地

Loaltion 地址對象,它描述的某一個窗口所打開的地址對象,如果要表示當(dāng)前窗口的地址用
Loaltion 就可以了,如果要表示某一個窗口的地址,就用<窗口對象> . Loation
注意 :屬于不同主機(jī)和不協(xié)議的的兩個站點的,Location 對象不能互相引用,如當(dāng)前的是www.a.com
的Location 如如果要打開 www.b.com的Location 對象 bWindow 在樣引用 bWindow.Location是不行的,會出現(xiàn)錯誤,是不能用 onError事件來處理地
方法
Location . reload(); 相當(dāng)于 IE中的刷新或者是History . go( 0 ) ;
Location . replace(URL ) ; 打開一個地址,但是如果用這個方法將不能用返回鍵來返回
屬性
protocol 返回地址的協(xié)議:‘HTTP‘,‘HTTPS ‘,‘FILE‘ 等等
hostname 返回主機(jī)名,例如一個:www.microsfot.com/in/ 的Location . hostname ==
www.microsoft.com
prot 返回端口號 一般HTTP的端口好是 80
host 返回端口號 和主機(jī)名‘www.microsoft.com:8080‘
pathname 返回路徑名 如果地址為www.microsoft.com/a/a.sp 那么Location . pathname == ‘a(chǎn)/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 返回以上所有內(nèi)容 返回以上所有 ,也就說怎么顯示就怎么發(fā)返回 如果要連接到別的地址可以用 Location == ‘........ ‘ Location . href == ‘....... ‘

Frames[ ]; Frame 框架,請見使用Cookie 一章;

Document 文檔對象,描述了當(dāng)前窗口和指定窗口的文檔從<head>到</body>
用法:document(當(dāng)前窗口)
或 <窗口對象> . document(指定窗口)
屬性
document . cookie 具體請看使用框架和COOKIE 一張
document . lastModified 本屬性指的是本文檔最后的修改日期 是一個Date對象
document . referrer 如果的當(dāng)前文檔是用連接打打開的則 referrer返回原先的 URL
document . fgcolor 指定TEXT控件里的文字顏色
document . bgcolor 指定指定<body>標(biāo)記的bgcolor屬性
document . title 指定<head>里的<tilte>...</title>里的文字,如果是Netscape不接受賦值
document . linkcolor 指定<body>標(biāo)記里的 link 連接的顏色
document . alinkcolor 指定<body>標(biāo)記里的alink 活動連接的顏色
document . vlinkcolor 指定<body>標(biāo)記里的vlink已訪問過的連接顏色
方法
Document . open ( ) 打開一個文檔,以便JAVASCRIPT在當(dāng)前位置插入數(shù)據(jù),不過通常不用該方
法,一般JAVASCRIPT自動調(diào)用
Document . writeln(write)( ) 向文檔寫入數(shù)據(jù),所寫入的當(dāng)成標(biāo)準(zhǔn)的HTML文檔來處理,write() 和writeln
不同之處在于,writeln()在插入后面加了一個換行,到底能不能顯示出來,要
看插入的位置,如果在<pre>中插入的話,那么換行也將被顯示出來
Document . clear ( ) 清空文檔
Document . close ( ) 關(guān)閉文檔停止寫入數(shù)據(jù),如果JAVASCRIPT沒有寫完不要加入此方法,也就
是說JAVASCRIPT 插入在文檔中,如果使用write[ln] 或Clear就必須使用該方
法,一保證能夠更改能夠表示出來

Anchors [ ] ; links [ ] ; link 連接對象.

Document . anchors[(x)] ; Document . links [ (x)] ;<anchors>; <linkID>
Document . anchors [(x)] ; 是一個數(shù)組包含了,文檔中所有的錨標(biāo)記(包括帶Name的<a>標(biāo)記),按錨在文檔中的順序給每個錨定義了一個下標(biāo)[(x)]
Document . links [(x)] ;也是一個數(shù)組,包含了文檔里所有的連接(包括Href里<a>和<map>里帶<area>),按照在文檔中的次序給連接從0開始個下標(biāo)
如果一個<a>中即有NAME 和 HREF 他即是一個 anchors 也是一個 LINK
在IE中如果<a>中加上一個 ID標(biāo)記,當(dāng)引用這個連接的時候,用ID也可以,很多文檔部件都用ID來布置,但要保證不能有相同的ID
屬性
同Location 的屬性
protocol
prot
hostname
host
pahtName
hash
seach
href
target
事件

onclick; onmouseover; onmouseout; onmousedown; onmouseup
applets [ ]; JAVA小程序?qū)ο?br>是一個數(shù)組,包含了文檔中所有的 Applet 對象(Java 小程序)。作為一個數(shù)組,有數(shù)組的屬性和方法。關(guān)于單個 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 [ ] ; 插件對象,包含了文檔里所有的插件對象<embed>因為插件不同所有Embeds也有不同的方法和屬性

Form 表單對象,他是一個數(shù)組,document . form[x] ; 不過一般不這么用,在定義表單的時候,給一個Name 屬性,然后這么引用,document . <表單名> 就可以了
屬性:
Method 返回/設(shè)定指定傳輸數(shù)據(jù)的方式: GET OR POST 第一個是是用:Request.querystring來傳遞在URL頭
中,暴陋數(shù)據(jù),第二個是用Request.Form 來傳遞
Name 指定表單名
Action 返回/設(shè)定指定處理頁面
Target 返回/設(shè)定 表單提交后的返回窗口
Length 返回表單的元素數(shù)
Encoding 返回表單的編碼方式
事件
onreset , onsubmit

以下是從Button 到 Textarea
Button 按鈕對象,有<input type="button" >指定,引用該按扭的方法是:<文檔對象>.<表單對象>.<按扭對象>
Name 返回按鈕的名稱
Value 返回設(shè)定按扭的元素值
Form 返回該按鈕屬于哪個表單
方法
Blur() 把焦點從該元素身上移開
Fcous()  獲得焦點  
Chick()  模擬鼠標(biāo)點饑該對象

Checkbox 復(fù)選框?qū)ο?,定義方法:<input type="checkbox">
Name 返回該對象的名稱
Form 返回包含本元素的表單對象
Value 返回/設(shè)定包含本元素的對象
Checked 返回/設(shè)定選定該復(fù)選框是否被選中 0或 1
DefaultChecked 返回/設(shè)定該復(fù)選框默認(rèn)是否被選中 0 或 1
方法
Blur() 把焦點從該元素移開
Focus() 獲得焦點
click() 模擬鼠標(biāo)點擊該對象

Hidden 隱藏域?qū)ο?lt;input Type="Hidden">
Name 返回隱藏域的名稱.
Value 返回指定元素的值.
Form 返回包含本元素的表單對象.
無方法

Password 密碼輸入?yún)^(qū)對象<input type="Password">
Name 返回表單的名稱
Value 返回/設(shè)定密碼輸入?yún)^(qū)的當(dāng)前值
DefaultValue 返回/設(shè)定密碼輸入?yún)^(qū)的默認(rèn)值
Form 返回包含本元素的表單
方法
Blur() 把焦點從該元素上移開
Focus 獲得焦點
Select() 選種當(dāng)前的密碼輸入?yún)^(qū)的文本

Radio 單選按鈕,<input type="Radio">,一組Radio有共同的Name屬性,如果想引用單個Radio就給用<document.fornname.RadioName[x];>
屬性
Name 返回Radio的名字.
Value 返回/設(shè)定Radio的元素值.
Checked 返回/設(shè)定表單是都被選中,是一個布爾值.
DefaultChecked 返回/設(shè)定 表單的默認(rèn)是否被選中.
方法
Blur() 把焦點從該對象中移開
Focus() 獲的焦點
Chick() 模擬鼠標(biāo)點擊該對象
事件
Onclick


Reset 重置按鈕對象<input Type="Reset">因為Reset也是按狃所以他也有Button的屬性至于
onClick 用Form 對象的onReset

Select 選擇域,一般用<Select>.....</select>
屬性
Name 設(shè)定選擇域名稱
Length 返回選擇域的的項數(shù)
SelectedIndex 返回被選種選項的下標(biāo),也就是Optings[x];數(shù)組中選項的位置,如果選擇域允許多項選
擇,則返回第一個被選種的項
Form 返回包含該對象的表單
方法
Blur() 把焦點從該對象移開
Focus() 獲得焦點
事件
onChange

Options[ ]; Option 選擇項對象
options[] 是一個數(shù)組,包含了在同一個 Select 對象下的 option 對象。Option 對象由“<select>”下的“<options>”指定。
options[] 數(shù)組的屬性
length; selectedIndex 與所屬 Select 對象的同名屬性相同。
Option 屬性
Text 返回/設(shè)定Option對象所顯示的文本
Value 返回/設(shè)定該元素的值
index 返回該 Option 對象的下標(biāo)。對此并沒有什么好說,因為要指定特定的一個 Option 對象,
都要先知道該對象的下標(biāo)。這個屬性好像沒有什么用
Selected 返回設(shè)定該對象是否被選中 .用True 和Flash來指定,可以動態(tài)的改變選中項
DefauleSelected 返回該對象是否被選中 True and Flash

Submit 提交按鈕<input Type="submit"> 因為Submit也是按鈕 所有Button的所有屬性和方法都適用
于Submit 至于Submit的onclick 事件可以用Form 的onSubmit來代替

Text 文本框?qū)ο?,PassWord也是Text的一種,所有PassWord 的所有屬性和方法,Text 都有
<input type="Text">

Textarea 多行文本框,由<Textarea>,Textarea也是文本框的一種,所以Text有的屬性對象方法,它都有,
和Password是一樣的.


Images [ ] ;Image 圖片對象Images [ ];是一個數(shù)組包含了文檔中的所有圖片(<img>),如果要引用某個圖片就用Document . Images[ x ] ; 如果圖片包含Name屬性就可以這么定義圖片
Document . Images[‘.....‘]; 如果IE中定義了ID <input id="..">那么就可以用<imageID> 來引用
單個Image對象的屬性
Name src lowsrc height width vspace hspace border
這些屬性跟<img>標(biāo)記里的同名屬性是一樣的。在 Netscape 里,除了 src 屬性,其它屬性(幾乎全部)都不能改的,即使改了,在文檔中也不能顯示出效果來。這些屬性最有用的就是 src 了,通過對 src 屬性賦值,可以實時的更改圖片
事件
onClick

預(yù)讀圖象的方法
var imagePreload=new Image( ) ;
imagePreload . src =‘1.gif‘
imagePreload . src =‘2.gif‘
imagePreload . src =‘3.gif‘

以上例子可以預(yù)讀少量圖片

function imagePreload(){
var imgPreload = new Image() ;
for (i = 0;i<arguments . length ;i++) {
imgPreload( ).src= arguments[i];
}
}
imgPreload . src (‘1.gif‘,‘2.gif‘,‘3.gif‘ )
以上例子可以預(yù)讀大量圖片

事 件 處 理
事件處理是對象化編程中一個很重要的環(huán)節(jié),如果沒有事件,程序會變的很死,事件處理是這樣的流程:
發(fā)生事件→啟動事件處理程序→事件處理程序做出反應(yīng),其中,事件處理程序能夠啟動,必須告訴對象發(fā)生了什么事情,啟動什么樣的事件處理程序,否則程序?qū)⒉荒苓M(jìn)行下去,事件處理程序可以是任意的JAVASCRIPT處理程序,但必須用自定義函數(shù)(function)來處理事件.
指定事件處理程序
方法一:在HTML中直接插入
格式:<標(biāo)記....事件="事件處理程序"...[<事件>="<事件處理程序>"]>
例如:<body....onload="alert(‘網(wǎng)頁讀取完畢,請慢慢欣賞...‘)" onunload="alert(‘再見了...歡迎下次在來‘)">
這樣的定義<body>標(biāo)記,能使文檔讀取完畢的時候彈出一個對話框,寫著“網(wǎng)頁讀取完成,請慢慢欣賞”;在用戶退出文檔(或者關(guān)閉窗口,或者到另一個頁面去)的時候彈出“再見”。
方法二:編寫特定的對象特定的事件 javascript,這種方法用的很少,但在某些場合比較好用.
格式:<script language="javascript" for="對象" event=" 事件">
          .......
    事件處理代碼
    .......        
          </script>
例如:<script language="javascript" for="window" event="onload">
            alert(‘網(wǎng)頁讀取完畢...請慢慢欣賞‘)
     </script>
方法三:在javascript中說名方法
格式:<事件 - 對象> . <事件> =< 事件處理程序>,注意如果事件處理程序是自定義函數(shù)function那么就不要使用參數(shù)了,就是不要帶()了
例如:
......
function ignoreError(){
return true ;
}
window.onerror=ignoreError ;  //沒有返回()
......
這個例子是將ignoreError()做為window對象的錯誤處理程序,它的作用是忽略window對象下的任何錯誤.但是由于不能訪問location 所有沒有權(quán)限的錯誤是不能忽略的..

事件詳解
onblur  發(fā)生在窗口失去焦點的時候 "應(yīng)用于window"
onchange  發(fā)生在文本輸入?yún)^(qū)內(nèi)容被修改的時候,然后焦點總文本輸入?yún)^(qū)移開的時候,該事件主要是時
          時檢測文本輸入的有效性
onclick     發(fā)生在對象被單擊的時候,單擊是鼠標(biāo)停留在該對象上,并且沒有移動鼠標(biāo)而放開鼠標(biāo)鍵的
             一個完整過程
                     一個普通的按鈕對象<button>一般都會有onclick 事件,因為這種對象跟本不會從用戶那里            
                    得到任何信息,沒有onclick就等與費才,按鈕上加上另一個onclick事件可以模擬另一個提交
                    按鈕對象,方式是在事件處理程序中更改表單的action target method encoding 等一個或幾個
                    屬性,加入 submit(  )方法.
                    在 Link 對象的 onclick 事件處理程序中返回 false 值(return false),能阻止瀏      
                    覽器打開此連接。即,如果有一個這樣的連接:<a href="http://www.tom.com" onclick="return flash">GO~</a>,那么無論用戶怎樣點擊,都不會去到 www.a.com 網(wǎng)站,除非用戶禁止瀏覽器運行 JavaScript。
主要應(yīng)用于:button對象 checkbox對象 Radio對象 Submit對象 Reset對象 Image對象 link對象
onerror 錯誤處理對象,上面已經(jīng)介紹過.他的事件處理程序叫錯誤處理程序(error HandLer)
                function ignoreerror(){
                       return true ;
                  }

                 window.onerror=ignoreerror ;
        應(yīng)用于Window對象
onfocus 當(dāng)窗口失去焦點的時候發(fā)生
                 應(yīng)用于window
onload     發(fā)生在文檔全部下載完畢的時候,不光是HTML而且還有圖片,視頻,插件,小程序,本事件是
        window 事件,我們一般把他寫在<body>中
onunload 發(fā)生在用戶關(guān)閉表單(或者是到別的頁面OR退出文檔)和onload 一樣我們一般把他寫在    
                 <body>標(biāo)記中,有的web master把強(qiáng)制彈出調(diào)查表單或者廣告,唆使用戶來點擊,我覺的這種
                  onunload="opern(‘ ‘)" 很不好
onmousedown 發(fā)生在用戶把鼠標(biāo)放在對象上并且按下按鈕,參考o(jì)nmouseup
                            應(yīng)用于 button link
onmouseup      發(fā)生在用戶把鼠標(biāo)放在對象上并且按下鼠標(biāo)鍵,當(dāng)用戶把鼠標(biāo)按下時候,放開的鼠標(biāo)的  
                           時候,如果不在所按下鼠標(biāo)的對象上放開,該事件不會放生
                           應(yīng)用于 button link
onmouseover 發(fā)生在鼠標(biāo)進(jìn)入到該對象范圍的時候,該事件加上onmouseout加上預(yù)讀圖象,可以做到當(dāng)
                         把鼠標(biāo)放在圖象連接時,圖象更改了...例如:有的網(wǎng)站的LINK把鼠標(biāo)放上去,顯示的不是地址而是,其他內(nèi)容就是用onmouseover 和onmouseout做到的如下:
<a herf="........"
     onmouseover="window . status =‘Check me ,go~~~‘; return true;"
     onmouseout="window . status=‘‘; return true;">
                          應(yīng)用于 link
onmouseout  發(fā)生在把鼠標(biāo)移開該對象的時候,參考o(jì)nmouseover,
                         應(yīng)用于link
onreset           發(fā)生在"重置"按鈕,被鼠標(biāo)點擊并放開的過程中,通過在該事件里,設(shè)置return flash; 可以
           防止表單被重置
onsubmit        發(fā)生在表單的提交按鈕被鼠標(biāo)點擊并放開的過程中,通過該事件可以驗證表單的有效性,通過設(shè)置 return flash ;可以防止表單被提交,應(yīng)用于 form   對象
onresize           發(fā)生在窗口被調(diào)整大小的時候。應(yīng)用于window對象

對象化編程語句的補(bǔ)充

with語句 為一個或一組語句來指定對象
用法:with(<對象>) <語句> ;
with 語句通常是在必須的寫代碼的情況下縮短代碼的縮寫量,下面注意Math的應(yīng)用:
x = Math.cos(3*Math.PI) + Math.sin(Math.LN10);
y = Math.tan(14*Math.E);
在用With語句的情況下可以這么寫:
With(Math){
x = cos(3*PI) + sin(LN10);
y = tan(14*E);
}
this語句 表示當(dāng)前對象
在不同的地方代表不同的對象,如果this在Javascript中就帶表的是Window對象(不包含在任何函數(shù)和子過程中).如果在With語句中,那么代表的是with所包含的對象,如果在事件處理程序中那么制的是發(fā)生事件的對象.
一個常用的用法:<script>
.......
fuction check(formobj)
.......
</script>
<body>
........
<form>
......
<input type="text" .....onchange="check(this . form)">  //該This指的對象是text發(fā)生時間的這個          
                                           TEXT,This.form只的是這個對象所在的表單吧
......
</form>.
........
</body>
自定義構(gòu)造函數(shù)
我們知道,象Arrray(),Image()這樣的構(gòu)造函數(shù)可以構(gòu)造出一個變量出來,我們也可以自己構(gòu)造函數(shù),也是用function來搞,在function里用this來定義屬性
格式:
function [(< 函數(shù)名>)] {
...........
this .< 屬性名> = <初始值> ;
..........
}
然后用new 關(guān)鍵字來構(gòu)造變量
var  <變量名> = new <構(gòu)造函數(shù)命> [(<參數(shù)>)] ;
以下是個從網(wǎng)上找到的來搜集瀏覽器信息的自定義函數(shù)的例子.
function Is( ) {
var agent = navigator.userAgent.toLowerCase( ) ;
this . major = parseInt(navigator . appVersion); //返回主版本號
this . minor = parseFloat(navigator . appVersion); //返回全版本號
this . ns = ((agent . indexof (‘mozilla‘) != -1)&&
                   ((agent . indexof(‘spoofer‘) == -1)           //是否是Netspace
                     (agent . indexof(‘compatible‘)== -1)));
this . ns2 = (this .ns && (this .marjor == 2 ));     //是否為Netspace 2版本
this . ns3 = (this .ns && (this . marjor == 3));      //是否為Netspace 3 版本
this . ns4b = (this .ns && (this . minor < 4.04));  //是否為Netspace 4低版本
this . ns4 = (this . ns && (this . major >= 4));       //是否為Netspace 4高版本
this . IE = (agent . indexof("msie") != -1);           //是否為IE
this . IE3 = (this . IE && (this . major ==2));        //是否為IE3
this . IE4 = (this .IE && (this . major == 4));        // 是否為IE4
this . win = (agent . indexof("win") !=  -1);         //是否為windows版本
this . mac = (agent . indexof("mac") !=  -1);        //是否為Macintosh 版本
this . unix = (agent . indexof("xll") != -1);            //是否為Unix版本
}
var Is = new Is() ;
這個構(gòu)造函數(shù)非常完整的收集了瀏覽器的信息,我們看他定義了很多屬性如:(marjor minor ns ns4 win)他們的意思看上面的注釋,把Is變量定義為Is()我們就可以用if(is . ns) 就可以很方便知道瀏覽器的信息了,我們也可以看到,也可以使用javascript語句
讓我們在來看一個構(gòu)造函數(shù):
function myfriend(theName,gender,theAge,birthOn,theJob){
this . name = theName;
this . isMale = (gender . toLowerCase == ‘male‘) ;
this . age = theAge;
this . birthOn = new Date(birthOn);
this .job = theJob
}
var stephen = myfriend(‘stephen‘,‘male‘,18,‘Dec 22 ,1982‘,‘student‘‘) ;
從這個構(gòu)造函數(shù)我們不但看到了參數(shù)的用法,還看到了不同的屬性用不同的數(shù)據(jù)型是可以的(上例五個屬性分別為:字符串,布爾值,數(shù)字,日期,字符串),還看到了構(gòu)造函數(shù)里也可以用構(gòu)造函數(shù)來“構(gòu)造”屬性。如果用了足夠的“保護(hù)措施”來避免無限循環(huán),更可以用構(gòu)造函數(shù)自身來構(gòu)造自己的屬性。

框架和Cookie講述window的時候我們提到過,一個框架內(nèi)的網(wǎng)頁也是window對象,也就說Frame對象也是window 對象,用最通俗的話來說,也就是每個HTML文件包含一個window對象,包括定義框架的網(wǎng)頁,在IE里面用<iFrame>標(biāo)記來插入框架也是window對象,但是包含網(wǎng)頁的方法,(在Html里顯示為<!-- web bot="#include"..... -->)獨取的HTML不占用window對象,沒一個框架都是包含他的網(wǎng)頁的window對象的子對象,要引用他就要這樣,有以下幾種方法:window . framesname[x] ;window . framesname[‘framename‘] ;window . framename其中,x指的是,window對象的第幾個框架,與其他數(shù)組一樣,是從0開始的,<frame>指的是框架的名字,和<frame>的name 屬性一樣.如果用 window . framename 指定的又是一個框架網(wǎng)頁,那么引的這個框架的方法是:window . framename .subFrameName 以下的依次類推注意的是,無論在何處,所引用的window對象都是當(dāng)前窗口,要訪問其他的window對象就要用到Parent 和top屬性,parent是"父級"window對象,也包含當(dāng)前window 對象的網(wǎng)頁,top屬性指的是窗口最頂端的對象.使用框架要留意你定義的全局變量和自定義函數(shù),因為他們都有他們所在的-----window對象,要引用其他框架內(nèi)的全局變量和自定義函數(shù),就要用:窗口對象.框架對象[框架對象....].全局變量或自定義函數(shù),這是種很凡的方法以上這個問題在建立連接時,經(jīng)常被忽略,如果在<head>中定義默認(rèn)窗口為<base target="blank">在<a href ="javascript : ....">中,要知道輸入的javascript在默認(rèn)的窗口中運行,必要是加一些,parent和top屬性.Cookie Doucment里面有一個Cookie屬性,是網(wǎng)站用很小的文件,在你的硬盤上建立的文本文件,MSIE解釋類似于CGI比HTML高級的文件,等程序來創(chuàng)建的,javascript也提供了比較全面的屬性來訪問.基本知識:每個Cookie值都是這樣 <CookieName> = <值> CookieName的命名規(guī)定和變量的一樣,少了不能用 javascript關(guān)鍵字,多了只能用 URL字符,后者比較難懂,不過你只要用 字母和數(shù)字就不會出現(xiàn)問題了,<值>的要求也是一樣,只能用URL編碼字符每一個 Cookie都有失效日期,一但電腦過了時刻,這個Cookie就會被刪除掉,我們不能直接刪除一個Cookie但是可以把失效日期定在早于現(xiàn)在時刻直接刪除它.每一個網(wǎng)頁或站點都有自己的Cookie,這個COOKIE只能是這個站點來訪問,或者這個站點下的網(wǎng)頁來訪問,每一組COOKIE都有固定大小,應(yīng)該是2KB,一超過最大總大小,則最早的COOKIE將被刪除.來讓新的COOKIE來安家.javascript 的cookie基礎(chǔ)知識如果直接調(diào)用 documen . cookie 屬性,或者手用某種方法,例如給變量賦值,來獲得document . cookie的值,我們就可以知道在現(xiàn)在的文檔中,有多少個Cookie,例如在某文檔中添加,document .write(document . cookie),的結(jié)果顯示.name=john; email=woshi; lastvisited=index.html這就以為著,該文檔包含3個cookies:name email index.html 他們的值分別是:john woshi index.html可以看兩個cookie是用逗號和空格分開的,因此就可以用 cookiestring .sqlit(‘; ‘)來把他們變成一個數(shù)組 要先用var cookiestring = document .cookie 設(shè)定一個cookie的方法是向document . cookie 賦值,與其他情況不同,向其賦值不會刪除原有的值,只會只回增加原來的值或者修改原先的值:document . cookie = ‘cookieName=‘ + espace(‘cookievalue‘) +‘;expires=‘ + expirationDateobj . toGMTString ( );以上不是粗體字的地方要照超不誤,是粗體字的地方要根據(jù)情況做出改動,cookieName 表示cookie 的名字cookieValue 表示cooie的值expirationDateObj 表示存儲失效日期的對象名.以上還有帶下劃線的語句espace( ) 為什么一定要用這個方法呢,因為cookie值要求符合URL編碼的要求,這樣無論什么字符都可 以轉(zhuǎn)換了,不會發(fā)生錯誤了,如果用espace( )來輸入Cookie那么也要用unespace()來取回了. 其實設(shè)定一個cookie只需要,document . cookie = ‘cookieName = cookieValue‘ ,為了避免發(fā)生錯誤,最好還是使用espacetoGMTString( ); 是指定時間的格式為GMT,因為該值,只接受 GMT格式的時間.我們現(xiàn)在來實戰(zhàn)一下,設(shè)置一個Name = rose 在三個月后過期var expires = new Date() ;expires . setTime(expires.getTime()+3*30*24*60*60*1000);document . cookie =‘name=rose;expires=‘+expires.GMTString( );現(xiàn)在我們來寫一個讀取cookie的函數(shù).function getcookie(cookname){var cookiestring = document .cookie;var start = cookiestring .indexof(cookieName+‘=‘);//加上等號的原因是避免 cookie值里有跟cookieName一樣的字符串if (start==-1)return null ; start += cookieName . length +1 ;var end = cookiestring . indexof(‘;‘,start) ;if (end = -1)return unespace(cookiestring . substring(start));return unespace(cookiestring . substring(end,start));}現(xiàn)在我們要刪除剛才設(shè)置的name=rose cookievar expires = new Date( );expires . setTime =(expires . getTime() -1) ;document .cookie = ‘name=rose;expires;‘+expires.toGMTString( );可以看到,只需要把失效日期改成比現(xiàn)在日期早一點(這里是早 1 毫秒),再用同樣的方法設(shè)定 Cookie,就可以刪掉 Cookie 了http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/jscript7/html/jspromaxvalue.asphttp://www.51windows.net/pages/jscript5/?url=/pages/jscript5/html/Jsobjnumber.htm加油記憶 抓緊時間

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
VB基礎(chǔ)教程
FLASH動作腳本編程技術(shù)
JS 語法大全
VBScript常用語法手冊學(xué)習(xí)
最全Javascript面試題及答案全在這
javascript筆記
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服