<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 73,  comments - 55,  trackbacks - 0

    javascript編程起步(第一課)
    不管你以前學(xué)沒有學(xué)過javascript,本教程都能帶您進(jìn)入javascript的殿堂,領(lǐng)悟javascript的魅力。
    ? 大家來到這里,都是javascript的愛好者,對javascript都多多少少有一定的理解。關(guān)于javascript
    的歷史等就不做介紹了,我們直接來學(xué)習(xí)它,用它。
    ? 也許大部分人都認(rèn)為javascript是在客戶端運(yùn)行的,其實(shí)不然。javascript有兩種不同的運(yùn)行環(huán)境,
    一個(gè)是在服務(wù)器端的javascript,另一個(gè)就是客戶端的javascript了。還有就是javascript也是面向?qū)ο?br />的語言。
    ? 作為第一課,只是給大家一個(gè)簡單的認(rèn)識(shí),東西不是太多。主要有以下三個(gè)方面:
    ? 1、在頁面添加javascript
    ? 2、javascript的數(shù)據(jù)類型
    ? 3、javascript最基本的三個(gè)對話框

    ? 關(guān)于怎么添加javascript,我想大家都知道,就是
    ? <script language="javascript">?? //這行是javascript腳本標(biāo)記,斜杠后面的就是注釋了
    ? document.write("在頁面顯示的javascript") //在頁面顯示一句話
    ? </script>
    ? /*這也是注釋,
    ??? 不過是多行的。
    ? */
    ? 我想這個(gè)今天就不細(xì)講了,留到下一課講,就當(dāng)是這課的作業(yè)吧,就是關(guān)于適應(yīng)各種環(huán)境的javascript
    的添加。如不支持javascript的瀏覽器,我們該加入些什么才能不讓瀏覽器顯示javascript的源代碼等等。

    ? 第二個(gè)也就是今天講的最重要的一個(gè),就是javascript的數(shù)據(jù)類型,主要有以下幾個(gè)基本的類型。
    ? 字符串(string)
    ? 數(shù)字(number)
    ? 布爾值(boolean)
    ?
    ? 字符串就是由一連串的字符組成的序列。包括字母、數(shù)字以及標(biāo)點(diǎn)符號(hào)。當(dāng)然還可以是漢字等。簡單一點(diǎn)
    就是表示文本信息。

    ? 數(shù)字又分為兩類:整型數(shù)字和浮點(diǎn)型數(shù)字。
    ? 整數(shù)包括正整數(shù),零和負(fù)整數(shù)。

    ? javascript中的數(shù)字可以使用十進(jìn)制、八進(jìn)制和十六進(jìn)制來書寫。方法如下:
    ? 十進(jìn)制:15(直接寫數(shù)字即可)
    ? 八進(jìn)制:017(要以零做為引導(dǎo)數(shù)字)
    ? 十六進(jìn)制:0xf(要以0x做為引導(dǎo)數(shù)字)

    ? 浮點(diǎn)型數(shù)字也叫實(shí)數(shù),為了方便,也可以使用科學(xué)記數(shù)法來表示:
    ? 1.13e1、1.5e3(等價(jià)于1.5乘10的3次方)
    ? javascript的數(shù)字范圍大約為10的負(fù)308次方到10的308次方之間。
    ? javascript中還有一個(gè)特殊的數(shù)字值NaN(not a number),javascript 用nan表示這個(gè)無意義的結(jié)果。

    ? 布爾值:true和false,在計(jì)算機(jī)中一般用1表示true,用0表示false。

    ? 空值就是null,即不表示任何東西。
    ? 未定義值undefined,有時(shí)等于null,有時(shí)可能是出了問題。
    ? 特殊字符:也叫轉(zhuǎn)義字符。是一些以反斜杠開頭的不可顯示的特殊控制字符。
    ? \b:表示退格
    ? \n:表示換行
    ? 等等。

    ? alert()方法的使用:
    ? <script language="javascript">
    ? alert("在頁面上顯示警告對話框");
    ? </script>
    ? alert()是javascript產(chǎn)生一個(gè)帶確認(rèn)按鈕的對話框,上面顯示括號(hào)內(nèi)的信息。

    ? confirm()方法的使用:
    ? <script language="javascript">
    ? confirm("在頁面上顯示確認(rèn)對話框");
    ? </script>
    ? confirm()和alert()差不多,不同的就是多了個(gè)取消按鈕。按確定返回true,按取消返回false。
    ? <script language="javascript">
    ? var con;
    ? con=confirm("你們喜歡這樣的教程嗎?");
    ? if (con==true) alert("喜歡");
    ? else alert("不喜歡");
    ? </script>

    ? prompt()方法的使用:
    ? <script language="javascript">
    ? var name,age;
    ? name=prompt("請問您的名字?");
    ? alert(name);
    ? age=prompt("多大?");
    ? alert(age);
    ? </script>
    ? 它不但可以顯示信息,而且可以輸入信息。
    ----------------------------------------------------------------------------------------
    javascript編程起步(第二課)

    關(guān)于上課的作業(yè),大家都知道,代碼如下:
    ? <script language="javascript">
    ? <!--
    ? 代碼
    ? //-->
    ? </script>
    ? 這兒補(bǔ)充一點(diǎn)內(nèi)容,還可以告訴讀者這兒是javascript代碼,該瀏覽器不支持。
    ? <noscript>
    ? 在瀏覽器不支持的時(shí)候顯示這句話
    ? </noscript>
    ? 今天我們主要學(xué)習(xí)的內(nèi)容有以下幾塊:
    ? 1、javascript變量
    ? 2、javascript表達(dá)式和運(yùn)算符

    ? 可以用var加上為變量指定的名稱來聲明變量,變量類型可以通過給變量賦值來確定。由于javascript采用的是弱類型的樣式,對數(shù)據(jù)類型要

    求不太嚴(yán)格,在程序執(zhí)行的過程中,會(huì)根據(jù)需要自動(dòng)轉(zhuǎn)換。
    ? 對于字符串變量,可以通過“變量名.length”來獲得該變量中字符串的長度,如
    ? var name;
    ? name="javascript";
    ? 那么name.length的值就是10。

    ? 若在一行中創(chuàng)建多個(gè)變量時(shí),記住用逗號(hào)來隔開變量名。各語句用分號(hào)隔開。(使用分號(hào)是個(gè)好習(xí)慣, 大家在學(xué)習(xí)的時(shí)候盡量養(yǎng)成加分號(hào)的習(xí)

    慣)
    ?
    ? 類型轉(zhuǎn)換:javascript允許在程序中改變變量的類型,最常見的兩個(gè)類型轉(zhuǎn)換符Number和String。
    ? Number(x)是字符型值——〉數(shù)字值型。String與之相反。相對于javascript的自動(dòng)類型轉(zhuǎn)換,可以將這種轉(zhuǎn)換成為強(qiáng)制類型轉(zhuǎn)換。(強(qiáng)制類

    型轉(zhuǎn)換需要在javascript1.2及以上版本才可以使用)

    ? 變量的命名:

    ? 1.必須以字母或下劃線開頭,中間可以有字母數(shù)字和或下劃線。不能使用空格、+、-等其他符號(hào)。
    ??? 作為連字符外,變量名稱不能有空格、(+)、(-)、(,)或其它符號(hào)。
    ? 2.不能使用JavaScript中的關(guān)鍵字作為變量。
    ? (javascript變量名是區(qū)分大小寫的,name和Name是不一樣的。)

    ? 對于變量還有一個(gè)重要性──那就是變量的作用域。在JavaScript中同樣有全局變量和局部變量。全局變量是定義在所有函數(shù)體之外,其作

    用范圍是整個(gè)函數(shù);而局部變量是定義在函數(shù)體之內(nèi),只對其該函數(shù)是可見的,而對其它函數(shù)則是不可見的。

    ? 例子:
    <script>
    var myStr = "我是全局變量";
    function getStr1(){
    ???? var myStr = "我是局部變量";
    ???? alert (myStr);
    }
    function getStr2(){
    ???? alert (myStr);
    }
    getStr1();
    getStr2();
    // 測試會(huì)彈出兩個(gè)提示框,第一個(gè)提示“我是局部變量”,第二個(gè)提示“我是全局變量”
    </script>


    ? 表達(dá)式:在定義完變量后,就可以對它們進(jìn)行賦值、改變、計(jì)算等一系列操作,這一過程通常由表達(dá)式來完成,可以說它是變量、常量、布

    爾及運(yùn)算符的集合,因此表達(dá)式可以分為算術(shù)表述式、字串表達(dá)式、賦值表達(dá)式以及布爾表達(dá)式等。
    ?

    ? 運(yùn)算符:

    ? 1.算術(shù)運(yùn)算符:+(加) 、-(減)、 *(乘)、 /(除)、 %(取模) -(取反)、
    ??????????? ++(遞加1)、--(遞減1)。
    ??????????? 例:11%2=1 ; 如果x=2?? ++x+4=7???? x+++4=6
    ????????? (++x是先執(zhí)行加1,x++是執(zhí)行完語句之后x在自加1
    例子:

    <script>
    var i=0, j=0;
    alert(i++ + " " + ++j + " " + i);
    // 輸出 “0 1 1”,可見i++是先輸出了i,然后進(jìn)行運(yùn)算,而++j是先對j進(jìn)行了自加運(yùn)算,然后輸出j的值
    </script>

    ? 2.比較運(yùn)算符:<(小于)、>(大于)、<=(小于等于)、>=(大于等于)、==(等于)、!=(不等于)
    ????????? (基本操作過程是,首先對它的操作數(shù)進(jìn)行比較,然后再返回一個(gè)true或False值。)
    ? 3.邏輯運(yùn)算符:!(取反)、&=(與之后賦值)、 &(邏輯與)、 |=(或之后賦值)、 |(邏輯或)、
    ??????????? ^=(異或之后賦值)、 ^(邏輯異或)、 ?:(三目操作符)、||(或)、&& (與)
    ??????????? ==(等于)、|=(不等于)。
    ? 4.字符串運(yùn)算符:只有+?? (”my“+”javascript“結(jié)果等于”my javascript“)
    ? 5.賦值運(yùn)算符:即=,將右邊的值賦給左邊的變量。
    ? 6.條件運(yùn)算符:(?:)
    ??????????? 例:status=(age>=18)?"adult":"child";如果大于18,則表達(dá)式的值為adult。
    ? 7.typeof()運(yùn)算符:用來返回變量或數(shù)據(jù)的類型。

    ?

    作業(yè):試試能不能做個(gè)最最最最簡單的計(jì)算器?
    ??? (就是我可以輸入兩個(gè)數(shù)和一個(gè)運(yùn)算符號(hào),就得出計(jì)算結(jié)果。結(jié)合上一課的prompt())
    答案:
    <script language="javascript">
    function yunshuan(a,op,c)
    {
    try{
    ? eval("result=a"+op+"c");
    ? return result;
    }
    catch(e){
    ? alert("Some error occur");
    }
    }
    function main(){
    var a,b,c;
    a=parseInt(prompt("請輸入第一個(gè)數(shù)"));
    op=prompt("請輸入運(yùn)算符");
    c=parseInt(prompt("請輸入第二個(gè)數(shù)"));
    alert("the result is :" + yunshuan(a,op,c));
    }

    </script>
    -----------------------------------------------
    javascript編程起步(第三課)

    第三課終于和大家見面了, 大家要感謝 Actions 的辛勤勞動(dòng)啊, 好好利用論壇給大家提供的資源和教程, 希望大家一起學(xué)習(xí)提高 :D
    大家有什么意見, 建議或者想法, 可以到本版的教程問答區(qū) 或 站務(wù)管理版的 建議或意見 去發(fā)表, 我們會(huì)及時(shí)給您反饋 :)

    下面是今天的學(xué)習(xí)重點(diǎn):
    A.補(bǔ)充上課的變量內(nèi)容
    B.if語句的基本語法
    C.window.com()基本用法

    A.變量
    1.變量的類型規(guī)則
    javascript是無類型的,他的變量可以放任何數(shù)據(jù)類型的值。
    2.變量的聲明
    在javascript程序中,在使用變量之前,必須先聲明它。變量是使用關(guān)鍵字var聲明的。而實(shí)際上,不一定要先聲明變量,在某些情況下,變量

    聲明是可選的。
    var i;
    var sum;
    也可以使用一個(gè)var關(guān)鍵字聲明多個(gè)變量;
    var i,sum;
    而且還可以將變量聲明和變量初始化綁定在一起:
    var message = 'hello';
    var i = 0,j=0,k=0;
    由var聲明的變量是永久的,因?yàn)楦鳛g覽器對是否可以刪除全局性的變量的態(tài)度是不同的,(都可以刪除局部變量)為了安全,最好假設(shè)全局變

    量不可刪除。
    可以使用var多次聲明同一個(gè)變量
    當(dāng)你給一個(gè)沒有聲明的變量賦值時(shí),js會(huì)自動(dòng)用哪個(gè)變量為你創(chuàng)建一個(gè)全局變量。
    如果你想在函數(shù)內(nèi)部創(chuàng)建一個(gè)局部變量。那就必須用var在函數(shù)內(nèi)部聲明。
    3.變量的作用域
    如果局部變量和全局變量重名,則局部變量優(yōu)先。js沒有塊級(jí)作用域。函數(shù)中聲明的所有的變量,作用域是相同的。
    var x;//聲明一個(gè)未賦值的變量,他的值是undefined。
    alert(u); //使用未聲明的變量將引發(fā)錯(cuò)誤。
    u=3;//給一個(gè)未聲明的變量賦值將會(huì)創(chuàng)建該變量。
    4.原始類型和引用類型
    var a=3.14;//原始類型
    var b=a;//引用類型

    B.if語句

    if (條件)
    語句段1
    else
    語句段2

     功能:若表達(dá)式為true,則執(zhí)行語句段1;否則執(zhí)行語句段2。

     說明:
    if -else 語句是JavaScript中最基本的控制語句,通過它可以改變語句的執(zhí)行順序。
    表達(dá)式中必須使用關(guān)系語句,來實(shí)現(xiàn)判斷,它是作為一個(gè)布爾值來估算的。
    它將零和非零的數(shù)分別轉(zhuǎn)化成false和true。
    若if后的語句有多行,則必須使用花括號(hào)將其括起來。

    例子
    if (age < 16 )
    ???? alert("小朋友");
    else
    ???? alert("成年人");
    end if

    if語句的嵌套
    if (布爾值) 語句1;
    else if (布爾值) 語句2;
    else if (布爾值) 語句3;
    else 語句4;
    在這種情況下,每一級(jí)的布爾表述式都會(huì)被計(jì)算,若為真,則執(zhí)行其相應(yīng)的語句,否則執(zhí)行else后的語句。

    C.window.com()的用法
    ? 1、基本語法
    ? window.open(pageURL,name,parameters)
    ? 其中:
    ??? pageURL 為子窗口路徑
    ??? name 為子窗口句柄
    ??? parameters 為窗口參數(shù)(各參數(shù)用逗號(hào)分隔)
    ? 例:
    ????? <SCRIPT LANGUAGE="javascript">
    ????? <!--
    ????? window.open ('url') //url為一網(wǎng)址,如:http://www.numb1.com(絕對) 或 index.htm相對)
    ????? -->
    ????? </SCRIPT>
    ? 2. 窗口參數(shù)
    ? 其中yes/no也可使用1/0;value為具體的數(shù)值,單位象素。
    ? toolbar=yes,no 是否顯示工具條
    ? location=yes,no 是否顯示網(wǎng)址欄
    ? directories=yes,no 是否顯示導(dǎo)航條
    ? status=yes,no 是否顯示狀態(tài)條
    ? menubar=yes,no 是否顯示菜單
    ? scrollbars=yes,no 是否顯示滾動(dòng)條
    ? resizable=yes,no 是否可以改變公告窗口大小
    ? copyhistory=yes,no 是否顯示歷史按鈕
    ? width=value 公告窗口的寬
    ? height=value 公告窗口的高
    ? left=value 公告窗口的左上頂點(diǎn)距屏幕左邊100像素
    ? top=value 公告窗口的左上頂點(diǎn)距屏幕頂端100像素
    ? 例:
    <script language="javascript">
    <!--
    window.open("

    "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,width=500,height=500,le

    ft=100,top=100")
    //-->
    </script>
    ----------------------------------------------------
    javascript編程起步(第四課)

    前一段有人給我說,第二課就看不明白了,我不知道是不是寫的太籠統(tǒng)了,不夠細(xì)致,還是其他的,有什么問題,大家給提出來,當(dāng)然我也不

    是什么js高手,只不過想把愛好者領(lǐng)進(jìn)門而已。希望大家多多參與。
    今天的主要任務(wù)就是for循環(huán)。另外就是數(shù)據(jù)類型。既for in(現(xiàn)在還沒有講數(shù)組和對象,先了解一下)。

    數(shù)據(jù)類型的轉(zhuǎn)換:
    如果運(yùn)算的數(shù)據(jù)類型不是一樣的話,js腳本會(huì)盡力執(zhí)行內(nèi)部轉(zhuǎn)換來解決,但js不了解你的心思。所以得到的結(jié)果可能和你想要的不一樣。
    em:
    ? 3+3?? // result=6
    ? 3+"3"?? // result="33"

    將字符串轉(zhuǎn)換為數(shù)值:
    javascript語言提供兩個(gè)內(nèi)置函數(shù)將表示數(shù)值的字符串轉(zhuǎn)換為真實(shí)的數(shù)值:parseInt()和parseFloat()。
    為了使用這些函數(shù),需要將進(jìn)行轉(zhuǎn)換的字符串作為參數(shù)傳入函數(shù),例:
    parseInt("42")???? //result=42
    parseInt("42.33")?? //result=42
    不過是浮點(diǎn)數(shù)還是整數(shù),函數(shù)返回的值都是整數(shù)。不存在四舍五入,小數(shù)點(diǎn)和它后面的數(shù)字將被舍棄。
    而parseFloat()則返回浮點(diǎn)數(shù)(如果是整數(shù)就返回整數(shù)),例:
    parseFloat("42")?? //result=42
    parseFloat("42.33") //result=42.33
    如果在某處需要進(jìn)行字符串的轉(zhuǎn)換,只需將函數(shù)插入該初即可。如:
    3+3+parseInt("3")?? //result=9

    將數(shù)值轉(zhuǎn)換為字符串:
    雖然當(dāng)遇到表達(dá)式中含有混合數(shù)據(jù)類型時(shí),js會(huì)傾向于字符串。但為了防止?jié)撛诘膯栴}發(fā)生,最好先轉(zhuǎn)換以下。在數(shù)值中加入空字符串就可以

    把數(shù)值轉(zhuǎn)換為字符串了:
    (""+2500)???????? //result="2500"
    (""+2500).length?? //result=4


    for:
    javascript中最常用的循環(huán)結(jié)構(gòu)稱之為for循環(huán),關(guān)鍵詞放在循環(huán)結(jié)構(gòu)的開始位置。正式語法結(jié)構(gòu)如下:
    for ([initial expression];[condition];[update expression]){
    ? statement[s] inside loop
    }
    例:
    for(var i=0;i<9;i++)
    {
    n+=i
    myfunc(n)
    }
    for...in:
    這個(gè)語句完全依照變量var所設(shè)定的值決定運(yùn)行次數(shù)。你可以用for...in語句在一個(gè)對象或一個(gè)數(shù)組上建立循環(huán)
    for(var in [obj | array])
    {
    statements
    }
    例:
    <script language="javascript">
    document.writeln("The properties of the document object")
    for(var element in document){
    document.writein(element+"="+document[element])
    }
    </script>

    ----------------------------------------------------
    javascript編程起步(第五課)


    鼠標(biāo)事件(上)

    ? 隨著課程的進(jìn)行,能跟著下來的人是越來越少了,不知道是不是因?yàn)闆]有太多的表現(xiàn),只是死記的東西,大家都沒有興趣啊。其實(shí)網(wǎng)頁上

    的很多特效,動(dòng)作大都是用javascript來實(shí)現(xiàn)的,沒有javascript的網(wǎng)頁,就象一個(gè)人沒有了肌肉一樣。但是所有的動(dòng)作都是有函數(shù)來控制的

    ,而控制語句是基礎(chǔ)中的基礎(chǔ)。希望大家能耐心的學(xué)下去。今天的課程就輕松一下,學(xué)習(xí)點(diǎn)能見到效果的。
    主要內(nèi)容就是基于鼠標(biāo)的事件,有如下幾種:
    1.mouseover(鼠標(biāo)移至)
    2.mouseout(鼠標(biāo)移出)
    3.mousemove(鼠標(biāo)移動(dòng))
    4.mousedown(鼠標(biāo)按下)
    5.mouseup(鼠標(biāo)彈起)
    6.click(單擊)
    7.dblclick(雙擊)

    ? 通常1和2組合起來使用,當(dāng)用戶把鼠標(biāo)移動(dòng)到一個(gè)超鏈接或者其他元素時(shí),mouseover事件就會(huì)發(fā)生,mouseout總會(huì)伴隨著它,因?yàn)楫?dāng)鼠標(biāo)

    離開時(shí),mouseout事件就會(huì)發(fā)生。
    ? 例子:
    <html>
    <head>
    <title>test</title>
    <script language="javascript">
    function text_onmouseover(){
    mytext.style.fontSize="30pt";
    mytext.style.color="red";
    mytext.style.fontStyle="italic";
    }
    function text_onmouseout(){
    mytext.style.fontSize="20pt";
    mytext.style.color="blue";
    mytext.style.fontStyle="normal";
    }
    </script>
    </head>
    <body>
    <p id=mytext onmouseover="text_onmouseover()" onmouseout="text_onmouseout()">http://www.javascript.com.cn</p>
    <p>看看字體樣式有什么變化</p>
    </body>
    </html>

    ? 這里定義了兩個(gè)函數(shù),來使字體改變樣式。關(guān)于函數(shù)我們以后會(huì)詳細(xì)的講解。
    (注意:ie對頁面上的所有元素都支持mouseover和mouseout事件,但對于netscape navigator來說,只有超鏈接和層支持這兩個(gè)事件。)

    下面看鼠標(biāo)移動(dòng)的例子:
    <html>
    <body onMousemove="micro$oftMouseMove()">
    <SCRIPT LANGUAGE="JavaScript">
    if (navigator.appName == 'Netscape')
    {
    document.captureEvents(Event.MOUSEMOVE);
    document.onmousemove = netscapeMouseMove;
    }

    function netscapeMouseMove(e) {
    if (e.screenX != document.test.x.value || e.screenY != document.test.y.value)
    {
    document.test.x.value = e.screenX;
    document.test.y.value = e.screenY;
    }
    }

    function micro$oftMouseMove() {
    if (window.event.x != document.test.x.value || window.event.y != document.test.y.value)
    {
    document.test.x.value = window.event.x;
    document.test.y.value = window.event.y;
    }
    }
    </SCRIPT>
    <FORM NAME="test">
    X: <INPUT TYPE="TEXT" NAME="x" SIZE="4"> Y: <INPUT
    TYPUE="TEXT" NAME="y" SIZE="4">
    </FORM>
    </body>
    </html>
    鼠標(biāo)移動(dòng)的事件在鼠標(biāo)跟隨效果的使用上比較多,大家可以看看鼠標(biāo)跟隨特效。網(wǎng)上n多。
    (需要注意的是:啟動(dòng)這個(gè)事件處理過程存在一個(gè)問題,就是它有可能會(huì)屏蔽其他事件。另外還增加了頁面的處理時(shí)間,應(yīng)盡量少用。)

    先說到這兒吧,下節(jié)講鼠標(biāo)的另外4個(gè)事件。


    今天的作業(yè)是:
    1.圖片鏈接的轉(zhuǎn)換(當(dāng)鼠標(biāo)放上去時(shí)是一個(gè)圖片,當(dāng)鼠標(biāo)離開時(shí)是另外一個(gè)圖片)
    2.圖片跟隨鼠標(biāo)(當(dāng)鼠標(biāo)移動(dòng)時(shí),會(huì)有個(gè)圖片跟隨著鼠標(biāo)一起移動(dòng))
    1題答案:
    <html>
    <body>
    <script language="javascript">
    ?? function change()
    ?? {
    ?????? //document.test.tupian.src="1.bmp";用test和form[0]都可以
    ??? document.form[0].tupian.src="1.bmp";
    ?? }
    ?? function changeback()
    ?? {
    ?????? //document.test.tupian.src="2.bmp";
    ??? document.form[0].tupian.src="1.bmp";
    ?? }
    </script>
    <form name="test">
    <a name="aa" href="

    src="3.jpg"/></a>
    </form>
    </body>
    </html>
    ---------------------------------------------------------------------------------------------------
    javascript編程起步(第六課)

    mouseDown事件和mouseUp事件
    ?

    大家知道,mouseDown事件和mouseUp事件的組合就是click事件,但是如果在鏈接上按下鼠標(biāo),并移到鏈接之外在放開鼠標(biāo),那么就只有mouseD

    own事件了。這兩個(gè)事件可以增加圖標(biāo)按鈕的圖像效果,
    ? 至于mouseDown和mouseUp的屬性,它們是伴隨著Click事件發(fā)生的,這和keyPress事件是keyDown事件和keyUp事件組合而成的機(jī)制是一樣的

    ,這3個(gè)鼠標(biāo)事件也有modifier屬性。
    ? (注意:如果在onClick事件處理中使用return語句,它可以接收任何數(shù)值。只要這個(gè)值不是False,瀏覽器就可以完成提交。但如果瀏覽

    器得到的是False值,表單提交操作就會(huì)被取消。)

    Click事件和dbClick事件
    ? onClick是單擊事件,onDblClick是雙擊事件,而實(shí)際上很難分清連續(xù)的單擊和雙擊。它們會(huì)互相干擾。而且在ie和其他瀏覽器的情況還有

    不同。有的瀏覽器是雙擊事件的每一次單擊都會(huì)觸發(fā)單擊事件,而在ie中,只有雙擊事件的第一次單擊會(huì)觸發(fā)單擊事件。不管怎么樣,單擊事

    件都不會(huì)自動(dòng)的取消或被忽略。因此,如果想使用單擊和雙擊一個(gè)鏈接時(shí)觸發(fā)兩個(gè)完全不同的過程,則必須通過編程來延遲單擊的動(dòng)作知道雙

    擊。

    例:
    <script>
    var timer=null;
    document.onclick=new Function("timer=setTimeout(click,500)")
    document.ondblclick=new Function("clearTimeout(timer);dblclick()")
    function click(){
    alert("click")
    }
    function dblclick(){
    alert("dblclick")
    }
    </script>

    解釋:
    new Function("timer=setTimeout(click,500)")
    新建一個(gè)函數(shù),內(nèi)容為
    timer=setTimeout(click,500)
    setTimeout(函數(shù)或語句,時(shí)間以毫秒為單位)
    用于設(shè)置某函數(shù)或語句在某時(shí)間后執(zhí)行,……
    clearTimeout(timer);
    清除設(shè)置,

    ? 在高版本的瀏覽器中,鏈接的這兩種事件處理程序都監(jiān)視那些使得腳本阻止鏈接的特殊行為。
    ? 例如:在想要的導(dǎo)航到另一個(gè)頁面之前進(jìn)行某些數(shù)據(jù)項(xiàng)的確認(rèn),如果某些域填得不正確,可以提醒并終止鏈接。要實(shí)現(xiàn)這種確認(rèn),必須在

    事件處理程序得最后一條語句或者事件處理程序自身返回True或False。如果返回False就終止鏈接。
    ------------------------------------------------------
    javascript編程起步(第七課)

    過年到現(xiàn)在一直都比較忙,辜負(fù)大家了.
    今天就學(xué)習(xí)函數(shù)吧,雖然語句還沒有說完.

    函數(shù)是javascript語言的一個(gè)很重要的內(nèi)容,但也很復(fù)雜.
    下面來看看javascript函數(shù).
    函數(shù)是有function加函數(shù)名和一對帶有參數(shù)括號(hào),以及大括號(hào)組成的,其中大括號(hào)里是
    主體javascript語句.
    例:
    function hanshuname(js) //hanshuname是函數(shù)名.
    {
    document.write(js,"<br>"); //是函數(shù)的主體語句.
    }
    函數(shù)可以嵌套,如下:
    function qiantao(a,b){
    function lqiantao(x){return x*x;}
    return Math.sqrt(lqiantao(a)+lqiantao(b));
    }
    函數(shù)還可以作為數(shù)據(jù)來應(yīng)用,因此可以象處理其他數(shù)據(jù)那樣來處理函數(shù),如:賦值,存儲(chǔ),傳遞等.
    例:
    function zhi(x){return x*x;}
    實(shí)際上,函數(shù)名沒有什么意義,不過是保存函數(shù)的變量名而已.
    a=zhi(6);//a存放的是數(shù)字36;
    b=zhi;//現(xiàn)在b和zhi引用同一個(gè)函數(shù).
    c=b(5);//c存放的是數(shù)字25.
    在一個(gè)函數(shù)體內(nèi),標(biāo)識(shí)符arguments總是具有特殊含義,它是調(diào)用對象的一個(gè)特殊屬性,用來引用實(shí)際參數(shù)對象.這個(gè)實(shí)際參數(shù)對象具有大量有用的

    屬性.除此之外,它還兼有數(shù)組的角色.
    盡管定義javascript函數(shù)時(shí)都有固定的參數(shù),但調(diào)用這個(gè)函數(shù)時(shí),傳遞給它的參數(shù)數(shù)目卻可以是任意的,數(shù)組arguments[]允許完全存取那些實(shí)

    際參數(shù)值.另外,arguments有一個(gè)length屬性,看如下例子:
    function zhi(x,y,z)
    {
    if(arguments.length !=3){
    alert("function zhi called with"+arguments.length+"arguments,but it expects 3 arguments.");
    return null;
    }
    }
    數(shù)組arguments[]還為javascript函數(shù)開發(fā)了一項(xiàng)重要的可能性,既可以將函數(shù)編寫為能夠接受任意數(shù)目的實(shí)際參數(shù).
    function zhi()
    {
    var m=Number.NEGATIVE_INFINITY;
    //遍歷所有參數(shù)
    //檢索并記憶最大的一個(gè).
    for(var i=0;i<arguments.length;i++)
    if(arguments>m)m=arguments;
    //返回最大的參數(shù)值.
    return m;
    }
    var lazgest=zhi(1,10,100,2,3,1000,4,5,10000,6);
    也可以使用arguments[]數(shù)組來編寫一個(gè)函數(shù).


    調(diào)用js函數(shù)
    <a href=”#” onClick=”functionName()”>Link text</a>
    <a href=”javascript:functionName()”>Link text</a>
    今天先說到這兒吧,下節(jié)繼續(xù)說函數(shù).
    ?


    FeedBack:
    # re: javascript編程起步(一至七課)
    2007-05-12 14:12 | 葉子飛
    你好!你能不能告訴我javascript編程的基本思想是什么?
    我明天就來看了.也就是5月13號(hào)哦!多謝了啊!  回復(fù)  更多評(píng)論
      
    # re: javascript編程起步(一至七課)
    2007-05-14 10:31 | 保爾任
    @葉子飛
    基本思想,這個(gè)以前到?jīng)]想過。其實(shí)js本來可以用來作各種編程的,包括前臺(tái)后臺(tái)等,不過它在頁面作動(dòng)態(tài)網(wǎng)頁用起來很方便,而且還有dom對象的支持,而其他方面支持也少,漸漸退化,就變成現(xiàn)在這樣的頁面腳本語言了。個(gè)人感覺現(xiàn)在js主要用于操作dom對象和ajax應(yīng)用了,不過還是挺火的。好像還是沒回答基本思想阿,呵呵,我用的很簡單,總結(jié)起來就是定義方法,然后調(diào)用:)  回復(fù)  更多評(píng)論
      

    只有注冊用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

    <2007年5月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(4)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 免费国产高清视频| 亚洲人成电影在线天堂| 男女一边摸一边做爽的免费视频 | 亚洲免费精彩视频在线观看| 57pao一国产成永久免费| 亚洲AV日韩综合一区| 久久亚洲综合色一区二区三区| 国产四虎免费精品视频| 男男黄GAY片免费网站WWW| 亚洲电影中文字幕| 国产免费69成人精品视频| 午夜精品免费在线观看| 怡红院亚洲红怡院在线观看| 亚洲欧洲日韩国产综合在线二区| 免费看大黄高清网站视频在线| 国产在线播放线91免费 | 99热这里有免费国产精品| 亚洲成a∨人片在无码2023 | 久久精品国产精品亚洲毛片| 暖暖免费高清日本一区二区三区| 国产无遮挡无码视频免费软件| 亚洲欧美自偷自拍另类视| 无码乱人伦一区二区亚洲一| 四虎永久精品免费观看| 免费AA片少妇人AA片直播| 97在线免费观看视频| 美女扒开尿口给男人爽免费视频| 亚洲成a人片在线观看播放| 亚洲熟妇av一区二区三区漫画| 永久免费AV无码网站在线观看| 59pao成国产成视频永久免费| 精品国产免费人成网站| 亚洲AV无码AV吞精久久| 亚洲喷奶水中文字幕电影| 亚洲不卡av不卡一区二区| 亚洲国产婷婷香蕉久久久久久| 91频在线观看免费大全| 久久国产精品免费看| 一个人看的在线免费视频| 无码一区二区三区亚洲人妻| 亚洲中文字幕日本无线码|