目前分類:javascript 教學 (30)

瀏覽方式: 標題列表 簡短摘要

按此前往javascript完整教學目錄

 

 

二、陣列:

1. 陣列的宣告與輸出:

(1) 宣告:

若不宣告元素初始值,可用:

var 陣列名稱 = new Array(); 或者是 var 陣列名稱=[];

之後再用 陣列名稱 = [1 , 2 , 3…] 來設定元素值。

若要宣告元素初始值,可用:

var 陣列名稱 = [1, 2, 3…];

註:javascript陣列元素的值,可以是不同的資料形態。如:

var tt = [“ss” , 5];

※ 若想要自訂序數(這是很重要的應用!!),可用

var 陣列名稱 = new Array();

陣列名稱[“序數1名稱”]=1;

陣列名稱[“序數2名稱”]=2;

如:

var position =new Array();

position["tt"]=101;

document.write(position["tt"]);   //顯示:101

 

(2) 輸出:

欲讀取陣列元素之值,可用序數(index)。如:

var tt= ["ss" , 50 ,"aa"];

document.write(tt[1]);    //顯示:50

亦可以直接讀取陣列名稱,這樣一來元素間會以逗號相間隔。如:

var tt= ["ss" , 50 ,"aa"];

document.write(tt);  //顯示:image

 

2. 常用的陣列屬性與陣列成員函式:

(1) 屬性:length,陣列的元素個數。如:

var tt= ["ss" , 50 ,"aa"];

document.write(tt.length);  //顯示:3

(2) 常用成員函式說明如下:

(2-1) concat(陣列1, 陣列2 …):使陣列與陣列1、陣列2等陣列進行合併,回傳合併之後的形式。如:

var tt1= ["111","222","333"];

var tt2= ["333","444"];

var tt3= ["555"];

document.write(tt1.concat(tt2,tt3));  //顯示: image

(2-2) join(‘指定字元’):將陣列的形式轉換成字串(元素間以指定字元相隔)並且回傳。若沒有寫指定字元,預設以逗號相間隔。如:

var tt1= ["111","222","333"];

document.write(tt1.join('&&'));  //顯示: image

 

(2-3) push(元素1,元素2,元素3…):將元素1元素2元素3加入陣列的末尾。如:

var tt= ["111","222","333"];

tt.push("444","555","666");

document.write(tt);    //顯示: image

(2-4) pop():將陣列的最後一個元素去除。如:

var tt= ["111","222","333"];

tt.pop();

document.write(tt);    //顯示: image

(2-5) reverse():將陣列所有元素的順序顛倒過來。如:

var tt= ["111","222","333"];

tt.reverse();

document.write(tt);    //顯示: image

(2-6) shift():將陣列的第一個元素給去除。回傳第一個元素的值。如:

var tt= ["111","222","333"];

document.write(tt.shift());  //顯示 111

document.write(tt);    //顯示222,333

(2-7) slice( N1 [,N2]):將陣列從序數=N1的元素開始,到序數=N2-1的元素為止,給存成另外的新陣列,回傳這個新陣列。不會影響到原陣列本身。若沒有指定N2,則將陣列從序數=N1的元素開始,到陣列之最後,都存成新陣列。如:

var tt= ["111","222","333","444","555"];

var kk=tt.slice(2,4);

document.write(kk);   //顯示: image

(2-8) sort():將陣列元素給重新排列。這排列的依據為:比較個元素的第一個字元,其中數字先於英文字母,數字由小為先、大為後,英文字母a為先、z為後。若有一些元素第一個字元相同,則比較第二個以此類推。如:

var tt= ["apple","kite","333","444","30cicle"];

tt.sort();

document.write(tt);    //顯示: image

(2-9) unshift(元素1,元素2,元素3…):將元素1元素2元素3加入陣列的開頭。如:

var tt= ["111","222","333"];

tt.unshift("aaa","bbb","ccc");

document.write(tt);    //顯示: image

(2-10) splice(N1, t, 元素1,元素2,元素3…):將元素1元素2元素3加入陣列中序數為N1的元素之後。t為整數,若t大於零,表示刪除原陣列在「序數為N1之後的所有元素」,若t不大於零,表示不刪除。如:

var tt= ["111","222","333"];

tt.splice(2,1,"aaa","bbb","ccc");

document.write(tt);    //顯示: image

 

 

3. 二維陣列:二維陣列是由許多一維陣列所組成。若不宣告元素初始值,可用:

var 陣列名稱 = new Array(); 或者是 var 陣列名稱=[];

之後再用 陣列名稱 = [[一維陣列1的值1, 一維陣列1的值2…], [一維陣列2的值1, 一維陣列2的值2…]…] 來設定元素值。

若要宣告元素初始值,可用:

var陣列名稱 = [[一維陣列1的值1, 一維陣列1的值2…], [一維陣列2的值1, 一維陣列2的值2…]…];

例如:

var tt2=[["weiwei" ,18,2500],

         ["nunu",  20,2800 ],

                    ["rain" ,19]];

document.write(tt2);    //顯示:weiwei,18,2500,nunu,20,2800,rain,19

document.write(tt2[1][0]);    //顯示:nunu

//註一:陣列名稱[a][b]表示:序數為a的一惟陣列中,序數為b的值。

//註二:同理,多維陣列也可以宣告。如N維陣列可以由N-1維陣列組成、其中N-1維陣列可以由N-2維陣列組成

 

 

 

上一篇:javascript 日期物件 Date

下一篇:javascript 數學運算 Math

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往javascript完整教學目錄

 

 

一、 日期物件Date:所謂日期物件,就是記載著日期資訊的一個物件。物件中包含年、月、日、時、分、秒、星期這些日期或時間的資訊,稱為日期物件的資料成員。

常用於網頁中,即時取得瀏覽器端目前的時間,以便做後續的互動。

 

1. 宣告日期物件:

(1) 可使用 var 物件名稱 = new Date(); 來宣告日期物件,此日期物件的時間即等於此行程式碼所執行當下的時間。時區以當地為主。

(2) 若要為日期物件設定初始值,可使用:

var 物件名稱 = new Date(“ // ::”); 來一次指定完整的時間資訊,或是:

var 物件名稱 = new Date(“ //”); 來指定日期,時間部分沒有指定,預設為000秒。例如:

var tt=new Date("2003/2/4 15:02:41"); 或是  var tt=new Date("2003/2/4");

註:年號是以西元年為主。

 

2. 利用成員函式讀取日期物件的資料成員:成員函式與說明如下(成員函式之回傳資料形態皆為整數):

getYear()getFullYear():回傳日期物件的年份資訊(以當地時間為主)。其值為四位數西元年。

getMonth():回傳日期物件的月份資訊(以當地時間為主)。其值範圍為0~11(一月為0,二月為1…以此類推)

getDay():回傳日期物件的星期號(以當地時間為主)。其值範圍為0~6(星期日為0,星期一為1…)

getDate():回傳日期物件的日期資訊(以當地時間為主)。其值範圍為0~31

getHours():回傳日期物件的小時(以當地時間為主)。其值範圍為0~23

getMinutes():回傳日期物件的分鐘(以當地時間為主)。其值範圍為0~59

getSeconds():回傳日期物件的秒數(以當地時間為主)。其值範圍為0~59

getMilliseconds():回傳日期物件的毫秒數(以當地時間為主)。其值範圍為0~999

間註:UTC時間,是以原子鐘為基礎的世界標準時間,較為精準。不過和當地時間會有時差問題。要取得日期物件的UTC時間資訊,上述成員函式之get一律改成getUTC即可。如:

getUTCHours():回傳日期物件的小時(UTC時間)。其值範圍為0~23

其他內建函式:

getTime():回傳日期物件之時間距離1970/1/1 00:00:00(格林威治時間的初始時間)毫秒數

getTimezoneOffset():回傳本地時間與格林威治標準時間(Greenwich Mean Time, GMT)的時差。單位為分鐘。

註:台灣地區與格林威治標準時間的時差為8小時。

 

3. 利用成員函式設定日期物件的資料成員:成員函式與說明如下(成員函式之輸入參數的資料形態皆為整數):

setYear(輸入參數)setFullYear(輸入參數):設定日期物件的年份資訊(以當地時間為主)。輸入參數為四位數西元年。

setMonth(輸入參數):設定日期物件的月份資訊(以當地時間為主)。輸入參數範圍為0~11(一月為0,二月為1…以此類推)

setDate(輸入參數):設定日期物件的日期資訊(以當地時間為主)。輸入參數範圍為0~31

setHours(輸入參數):設定日期物件的小時(以當地時間為主)。輸入參數範圍為0~23

setMinutes(輸入參數):設定日期物件的分鐘(以當地時間為主)。輸入參數範圍為0~59

setSeconds(輸入參數):設定日期物件的秒數(以當地時間為主)。輸入參數範圍為0~59

setMilliseconds(輸入參數):設定日期物件的毫秒數(以當地時間為主)。輸入參數範圍為0~999

間註:UTC時間,是以原子鐘為基礎的世界標準時間,較為精準。不過和當地時間會有時差問題。要以UTC時間設定日期物件的時間資訊,上述成員函式之set一律改成setUTC即可。如:

setUTCHours(輸入參數):設定日期物件的小時(UTC時間)。輸入參數範圍為0~23

其他內建函式:

setTime(輸入參數):設定距離1970/1/1 00:00:00(格林威治時間的初始時間)往後算起,輸入參數毫秒數之後的時間。

重要:javascript中,並不能直接對時間進行四則運算。若要進行四則運算,其模式如:

var tt=new Date();

tt.setTime(tt.getTime()+100*1000);  //利用setTime(輸入參數)getTime(),要注意:setTime()中的數字其單位是毫秒,乘以1000,只是為了方便用秒來計算而已。

 

4. 輸出時間:

利用2. 的成員函式輸出時間物件的資訊是很麻煩的。可將時間物件轉換為相對應的字串,再以字串方式顯示。可用的成員函式說明如下:

toString():將時間物件轉換為相對應的字串。如:

var tt=new Date("2003/12/14 15:02:42");

document.write(tt.toString());  //顯示: image

toLocaleString():時間物件轉換為相對應的字串,以當地的語言形式表示。如:

var tt=new Date("2003/12/14 15:02:42");

document.write(tt.toLocaleString());  //顯示: image

toGMTString():時間物件轉換為相對應的字串,以CMT標準時間形式表示。故有時差問題。如:

var tt=new Date("2003/12/14 15:02:42");

document.write(tt.toUTCString()); //顯示: image

  • toUTCString():和toGMTString()一樣。

 

 

上一篇:javascript 物件

下一篇:javascript 陣列

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往javascript完整教學目錄

 

 

遞迴函式:

函式中可以對函式本身進行自我呼叫,可以重複執行函式多次,直到滿足某些條件為止,此稱種函式為遞迴函式。以下範例,為求出100以下的質數:

var p="1";

var limit=100;

function get_p (n)

{

          if(n>limit){return;}

          var is_p=true;

          for(i=2;i<n;i++)

          {

                   var q=n/i;

                   if(Math.round(q)==q)  //ni的倍數(n可被i整除)

                   {is_p=false}

          }

          if(is_p){p+=(","+n);}

          get_p(n+1);

}

get_p(2);

document.write(p); 

//顯示:1,2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97

 

 

上一篇:javascript 成員函式鍊

下一篇:javascript 物件

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往javascript完整教學目錄

 

 

成員函式鍊:所謂成員函式鍊,是在一行程式碼中執行超過一個成員函式,寫法就像鎖鏈般一個連著一個,讓撰寫變得更為快速,更減少程式碼行數。製作函式鍊的範例如:

function create_student(name_,age_,score_,money_)

{

          var student_=new Object(

          {

                   name:name_,

                   age:age_,

                   score:score_,

                   money:money_,

                   re_name:function(s){this.name=s;return this;},  //成員函式回傳物件本身,使物件在執行成員函式後,在語法上仍是物件本身。

                   add_age:function(n){this.age+=n;return this;},

                   add_score:function(n){this.score+=n;return this;},

                   add_money:function(n){this.money+=n;return this;},

                   show_me:function(){

                             document.write("my name is "+this.name+","+this.age+" years ago."+"</br>");

                             document.write("I got "+this.score+" at this exam, then the teacher give me "+this.money+" $!!");

                             }

          });

          return student_;

}

 

var s1=create_student("jade",16,80,7000);

var s2=create_student("umei",12,60,10000);

s1.add_score(5).add_money(600).show_me();   //函式鍊在此!

//顯示:

my name is jade,16 years ago.
I got 85 at this exam, then the teacher give me 7600 $!!

 

 

 

上一篇:javascript 函式

下一篇:javascript 遞迴函式

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往javascript完整教學目錄

 

 

1. 函式在javascript中,可以被看做是一個物件。函式宣告方式有兩種:

第一種較傳統,如:

function 函式名稱(參數) {//函式內容}

第二種方式,就是將函式看做一個物件,如:

var 函式名稱=function(參數) {//函式內容}

 

2. 函式的參數(又稱為引數)可以在函式中用argumants(這在函式中是關鍵字)來呼叫,如此會回傳一個物件,其中包括了輸入的所有參數。argumants物件的用法很像是陣列的用法,有length成員表示參數數目,並可以用索引來呼叫參數。如:

function sumation()

{

          var result_=0;

          for(var i=0;i<arguments.length;i++)

       {result_+=arguments[i];}    //arguments[i]呼叫第i個參數

          return result_;

}

document.write(sumation(1,2,3,4,5)); //顯示15

//如此,在寫函式時,可以創造出不須指定參數數目的函式,如上面舉例中的sumation(),不管要輸入幾個參數都可以。

 

3. 函式,也可以被當成另一個函式的參數來使用。如:

function create_student(name_,age_,score_,money_) //一個建立學生物件的函式

{

          var student_=new Object(

          {

                   name:name_,

                   age:age_,

                    score:score_,

                   money:money_

          });

          return student_;

}

var s1=create_student("jade",16,80,7000);    //建立學生物件s1

var s2=create_student("umei",12,60,10000);    //建立學生物件s2

 

function name_(s){return s.name;}

function age_(s){return s.age;}

function score_(s){return s.score;}

function money_(s){return s.money;}

 

function max_(a,b){if(a>=b){return a;}else{return b;}}  //求最大值

function min_(a,b){if(a>=b){return b;}else{return a;}}  //求最小值

function mean_(a,b){return (a+b)/2;}    //求平均值

 

function get_(operation,value,s1_,s2_) //operationvalue兩參數在此被當成函式

{

          var v1=value(s1_);

          var v2=value(s2_);

          document.write(operation(v1,v2));

}

 

get_(max_,money_,s1,s2);   //顯示10000

get_(mean_,score_,s1,s2);   //顯示70

 

//註一:所謂匿名函式,指的是沒有名稱的函式。通常用在參數列中。如上例的get_(mean_,score_,s1,s2),若沒有宣告mean_()函式,則也可以用get_(function(a,b){return (a+b)/2},score_,s1,s2); 來達成求平均值的效果。function(a,b){return (a+b)/2}就直接寫在get_()函式的參數列裡,是個匿名函式。

//註二:匿名函式還有用在另一種情況下,即在宣告時就執行此函式。如:

(function(a,b){

var the_max;

if (a>=b){the_max=a;}

else{the_max=b;}

document.write("the max is "+the_max+"!");

})(2,7);    //顯示:the max is 7!

 

 

上一篇:javascript 常用內建函數

下一篇:javascript 成員函式鍊

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往javascript完整教學目錄

 

 

javascript內建函式:

(1) eval是個很重要且有用的內建函式eval()之括號內所輸入的字串,會直接被當作程式碼來執行,而eval()之括號內所輸入的變數,其值會被當作程式碼來執行。如:

var a="test";

eval("document.write(a)");   //顯示:test

簡單應用範例如:

var floor1="大廳";

var floor2="觀賞園景";

var floor3="陶瓷工坊";

var floor4="藝術展覽廳";

var floor5="蘭亭酒店";

var floor6="客房";

var n=2;

eval("document.write('歡迎光臨'+floor"+n+")");   //顯示:歡迎光臨觀賞園景

註:上述eval()中之程式碼的意思是:在n=1時,便執行document.write('歡迎光臨'+floor1),若n=2,便執行document.write('歡迎光臨'+floor2)以此類推。

(2) isNaNNaN,是not a number」的縮寫。利用isNaN(變數名稱); ,若其變數之資料形態是數字,則回傳false。若其變數之資料形態是字串,但字串之中只有數字字元,也回傳false。其餘情況回傳true。如:

var tt1=isNaN("6");

var tt2=isNaN(6);

var tt3=isNaN(5/0);

var tt4=isNaN("gggg");

document.write(tt1);    //顯示:false

document.write(tt2);    //顯示:false

document.write(tt3);    //顯示:false

document.write(tt4);    //顯示:true

(3) parseFloatparseInt

parseFloat(字串); 可從字串之起始字元開始、到字串中「不是小數點也不是數字」的字元為止,將這些字元轉換成浮點數的資料形態並且回傳。若起始字元不是小數點也不是數字也不是空白字元,則回傳NaN。如:

var tt=parseFloat("4.3fgz8.hh83");

document.write(tt);   //顯示:4.3

parseInt(字串  [,進位模式] ); 可從字串之起始字元開始、到字串中「不是數字」的字元為止,將這些字元轉換成10進位整數的資料形態並且回傳。若解讀出之結果不是整數,則回傳NaN。如:

var tt=parseInt(" 4.3fgz8.hh83");

document.write(tt);  //顯示:4

[,進位模式] 表示進位模式這一參數可寫可不寫。若不寫,則預設為10,也就是10進位。若要設定為其他進位,如:

var tt=parseInt("AA",16);

document.write(tt);  //顯示17016進位制的AA等於10進位制的170

(4) typeof:用來檢查變數的資料形態或者是函式的回傳資料形態。用法為:typeof(變數名稱或函式名稱); 回傳值可能為:

number:表示數字。

string:表示字串。

boolean:表示布林值。

object:表示物件。

function:表示函式。

undefined:表示資料形態無法辨識,或是該變數或函式根本不存在。

註:javascript中的函式,其回傳資料形態不需要指定,而是由系統自行依據函式內容判斷。宣告方法為:

function 函式名稱(參數1, 參數2, …){//函式內容;}

 

 

上一篇:javascript 迴圈

下一篇:javascript 函式

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往javascript完整教學目錄

 

 

迴圈:

迴圈,可以大量、重複地執行某一段程式碼,並對某些變數進行重複的操作。

常用的迴圈有for迴圈、while迴圈,介紹如下:

(1) for迴圈:

for ( var 變數名稱 = ; 執行條件; 控制程式碼)

{

    內容程式碼

}

兩個小括號( )內可分為三部分:

第一部份是var 變數名稱 = ;。這是迴圈的初始設定,在for迴圈剛開始時就會執行,且只執行一次。

第二部分是執行條件,乃是迴圈執行的條件(此條件,可當作一個布林代數來看待),每一次迴圈內的內容程式碼要被執行前,這個執行條件就會被檢查一次,若條件成立則繼續執行內容程式碼,若不成立則結束迴圈。

第三部分是控制程式碼,用來控制迴圈執行的次數。每一次迴圈內的內容程式碼被執行完後,控制程式碼就會被執行一次。

範例一,求1+2+3+…+100的總和:

var sum=0;

for (var i=1; i<=100; i++)

{ sum = sum+i; }  // sum = sum+i也可以寫成:sum+=i,兩者都是將sum增加i

document.write(sum);

// 執行後顯示:5050

範例二,求2~100之間的所有質數:

for (var i=2; i<=100; i++)

{

    var i_have_factor = false;      

    for (var j=2; j<i; j++)

    {

        if (i%j==0)

        {i_have_factor =true; } // i_have_factortrue,表示i「除了i自己與1以外的因數」

    }

    if (!i_have_factor )

    {  document.write(i+", "); }

}

// 執行後顯示:2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97,

 

(2) 強制中斷、跳過迴圈的執行:

(2-1) 如上所述,一旦執行條件不成立,for迴圈就不會繼續執行。但在某些情況下,程式設計者需要令for迴圈在執行條件不成立之前,就中斷for迴圈的執行。此時可用break關鍵字來強迫for迴圈中斷。譬如,將之前的範例問題改成:

for (var i=2; i<=100; i++)

{

    var i_have_factor = false;      

    for (var j=2; j<i; j++)

    {

        if (i%j==0)

        {i_have_factor =true; break; }   //此處加了break

    }

    if (!i_have_factor )

    {  document.write(i+", "); }

}

因為當i_have_factortrue,表示i「除了i自己與1以外的因數」。加了一個break,表示只要發現一個因數就可以不用繼續執行最內部的迴圈,避免浪費時間。且仍能找出2~100之間的所有質數。

(2-2) 在某些情況下,程式設計者需要令for迴圈跳過某次執行,然後去執行下一次。此時可用關鍵字continue來跳過。比如,將上述的範例改成:

for (var i=2; i<=100; i++)

{

if (i>2 && i%2==0){continue;}   //此處加了continue

    var i_have_factor = false;      

    for (var j=2; j<i; j++)

    {

        if (i%j==0)

        {i_have_factor =true; break; }

    }

    if (!i_have_factor )

    {  document.write(i+", "); }

}

因為已知一個數若大於2且又是偶數,則其必不可能為質數。加了一個continue,表示只要i大於2i又是偶數,就可以判斷i不是質數,直接跳過這一輪的執行,再將i增加1,避免浪費時間。且仍能找出2~100之間的所有質數。

(3) while 迴圈:

while 迴圈跟for 迴圈在執行的邏輯上很類似,只是寫法比較簡單。while 迴圈寫法為:

while (執行條件)

{

    內容程式碼

}

for迴圈一樣,while每執行一次內容程式碼之前,都會檢查執行條件是否成立(該布林代數是否為true,成立就執行,不成立就結束迴圈。以範例來說,上述(1)中的範例一:求1+2+3+…+100的總和,用while迴圈來寫是這樣的:

var sum=0;

var i=1;

while(i<=100)

{

  sum=sum+i;

  i++;

}

document.write(sum);

// 執行後顯示:5050

其中原本for迴圈內的初始設定var i=1;被移到迴圈之外,而原本的控制程式碼i++被寫到內容程式碼裡了。而執行後的顯示的結果是一樣的。

註:while迴圈也可以使用breakcontinue來中斷、跳過迴圈的執行。

 

 

上一篇:javascript 比較運算子與if判斷式

下一篇:javascript 常用內建函數

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往javascript完整教學目錄

 

 

比較運算子與if判斷式:

(1) 比較運算子,是用來比較其左右兩邊的變數或值誰大誰小,然後回傳一個布林代數來顯示比較的結果是正確或錯誤。常用的比較運算子如下:

比較運算子

意義

==

左邊等於右邊

!=

左邊不等於右邊

左邊大於右邊

>=

左邊大於或等於右邊

左邊小於右邊

<=

左邊小於或等於右邊

範例如:

var a=10, b=20;

document.writeln(a<b);    // 顯示true,表示a小於b」是正確的。

document.writeln(a>b);    // 顯示false,表示a大於b」是錯誤的。

document.writeln(a==b);    // 顯示false,表示a等於b」是錯誤的。

document.writeln(a!=b);    // 顯示true,表示a不等於b」是正確的。

事實上,上述的a<ba>ba==ba!=b,都可以當作一個布林代數來看,甚至可以用來直接指派成變數。例如:

var a=10, b=20;

var test = a<b;

document.writeln(test);  // 顯示true

(2) if判斷式:

if判斷式可用來判斷條件是否成立,並且依照條件之成立與否,來執行不同的程式碼。這所謂的條件,指的是一個布林代數,可以是單純的truefalse,也可以是如(1)a<ba>ba==ba!=b這些「比較運算子回傳的布林代數」,也可以是利用邏輯運算子算出的布林代數。

條件」是true表示成立,「條件」是false表示不成立。

if判斷式的標準形式有二:

簡易型:

If (條件)

{

程式碼

}

表示在條件成立的情況下執行才程式碼

另外是複雜型:

If (條件一)

{

程式碼一

}

else If (條件二)

{

程式碼二

}

else If (條件三)

{

程式碼三

}

else

{

後備程式碼

}

執行的流程是:

先看條件一是否成立,若成立就會執行程式碼一;若不成立就看條件二是否成立,成立就執行程式碼二;這個寫法可以類推到條件三條件四等等,若所有條件都不成立,就會執行後備程式碼。上述的條件,和布林變數一樣具有true(條件成立false(條件不成立

範例:

var a=10;

if (a>15)

{   document.write("a is greater than 15"); }

else if (a> 5)

{   document.write("a is greater than 5"); }

else

{   document.write("a is a small number");}

//執行後顯示:a is greater than 5

 

 

上一篇:javascript 變數宣告

下一篇:javascript 迴圈

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往javascript完整教學目錄

 

 

javascript變數:javascript變數區分大小寫,變數名稱不可以用數字做為開頭。

(1) javascript中設定變數可以不用宣告其資料形態。若變數沒有指定初始值,宣告方式為:

var 變數名稱 = ;

若要連續宣告多個變數,可用逗號分隔,如:

var 變數名稱一 = 值一, 變數名稱二 = 值二, 變數名稱三 = 值三;

註:最常見的三種變數,是數字、字串、布林代數。

數字的宣告方式,如:

var v1 = -5;

var v2 = 10.36;

字串的值必須在兩旁加上雙引號或單引號。如:

var s1="aaa"; 以及 var s2='bbb';

布林代數的值只能為truefalse,宣告方式如:

var b1 = true;

var b2 = false;

(2) 基本的變數輸出如:

(2-1) 不換行輸出:document.write(變數名稱); 或者是 document.write();

(2-2) 換行輸出:基本上,用document.writeln(變數名稱); 以及 document.writeln(); 或者是換行字元 \n 就可以達到換行輸出,但許多瀏覽器不支持,只會顯示「空格」而非「換行」。要顯示換行,必須在<script>標籤外再加上一層<pre>標籤,如:

<pre>

<script  type="text/ecmascript">

var v1="aaa";

var v2="bbb";

document.writeln(v1);

document.writeln(v2);

</script>

</pre>

// 顯示:

又或者是:

<pre>

<script  type="text/ecmascript">

var v1="aaa";

var v2="bbb";

document.write(v1+"\n"+v2);

</script>

</pre>

// 顯示:

以下教學,程碼中有使用到換行輸出的部分,都必須在<script>標籤外再加上一層<pre>標籤。

(3) 變數的運算:

(3-1) 數字的運算:

var a=12, b=5;

document.writeln(a+b);    // 顯示125的值:17

document.writeln(a-b);    // 顯示125的值:7

document.writeln(a*b);    // 顯示125的值:60

document.writeln(a/b);    // 顯示125的值:2.4

document.writeln(a%b);   // 顯示125的餘數:2

a++;                // 使a的值增加1

document.writeln(a);  // 顯示12+1的值:13

a--;                // 使a的值減少1

document.writeln(a);  // 顯示13-1的值:12

(3-2) 字串的運算:

var s1="aaa", s2="bbb";

document.write(s1+"jjj"+s2);  //顯示:aaajjjbbb

(3-3) 布林代數的運算(邏輯運算)

運算符號

符號意義

範例

真值表

&&

交集(and)

a&&b

 

a

b

a&&b

true

true

true

true

false

false

false

true

false

false

false

false

 

||

聯集(or)

a||b

 

a

b

a||b

true

true

true

true

false

true

false

true

true

false

false

false

 

!

反值(not)

!a

 

a

!a

true

false

false

true

 

範例:

var t = true, f = false;

document.writeln(t && f);  // 顯示truefalse的交集:false

document.writeln(t || f);   // 顯示truefalse的聯集:true

document.writeln(!t);  // 顯示true的反集:false

 

 

上一篇:javascript 教學 基礎介紹

下一篇:javascript 比較運算子與if判斷式

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往javascript完整教學目錄

 

 

一、簡介:

javascript script 語言的一種,通常用來與html語言配合,建立網頁。

script html 語法並非正式的程式語言,不須編譯就可直接執行,也沒有所謂的除錯(debug)。若有一部分程式碼有語法上錯誤、或執行器無法辨識,則那一部份程式碼不會被執行,但仍不影響其他正確程式碼的執行。

javascript語法較接近C語言,而與java關係不大。

編輯:想要撰寫javascript語言,並不需要下載或安裝開發工具。最簡單的方法,即是在桌面點右鍵,新增一個文字文件(txt)

image

利用最簡單的文字編輯器(windows 系統內建的記事本、wordpad),即可編輯程式碼。

執行javascript程式碼檔:

將上述文件的副檔名改為html

image

再用瀏覽器(IEchromefirefox…均可)開啟此文件即可執行其內的程式碼。

亦可在該文件檔上按右鍵,選取「開啟檔案」選項,再從其中挑選某個瀏覽器,亦可執行。

 

 

 

二、基礎語法:

javascript程式碼區分大小寫

jacascript程式碼為內嵌在html語言中,可以寫在表頭區或主體區。

欲使用javascript語言,先建立<script>標籤,並使用其屬性type,其值為text/javascript。如:

<script type=”text/javascript”> //程式碼內容 </script>

這是目前在XHTML語言中最正式的寫法。但也可以寫成:

<script language=”javascript”> //程式碼內容 </script>

若是只使用<script>標籤亦可,因系統會預設其為javascript語言。如:

<script> //程式碼內容 </script>

※ 範例如:

<html>

<head>

<script type="text/javascript" >

 

// 此處是程式碼區

var a=1;

var b=10;

document.write(a+b);

 

</script>

</head>

</html>

將此檔案放入瀏覽器執行後,瀏覽器會顯示:11,也就是document.write()括號中之值。

以下其他篇章之範例程式碼,均視為已放在:

<html>

<head>

<script type="text/javascript" >

 

</script>

</head>

</html>

之中。

 

 

下一篇:javascript 變數宣告

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

«12